Web Workers allow you to run JavaScript code in the background without blocking the web page user interface. Web workers can improve the overall performance of a web page and also enhance the user experience.
In the example below, the intensive work is in the script lengthytask.js
and it is invoked through a button click. This runs in the background without impacting the performance of the web page.
$(document).ready(function () {
if (Modernizr.webworkers)
{
$("#buttonCompute").click(function () {
var worker = new Worker("scripts/lengthytask.js");
worker.addEventListener("message", function (evt) {
//cb
},false);
worker.postMessage();
});
});