web worker 是運(yùn)行在后臺(tái)的 JavaScript,不會(huì)影響頁(yè)面的性能,更好的解釋是,你可以使用web worker提供的一種簡(jiǎn)單的方法來(lái)為web內(nèi)容在后臺(tái)線程中運(yùn)行腳本,這些線程在執(zhí)行任務(wù)的過(guò)程中并不會(huì)干擾用戶界面!
什么是 Web Worker?
當(dāng)在 HTML 頁(yè)面中執(zhí)行腳本時(shí),頁(yè)面的狀態(tài)是不可響應(yīng)的,直到腳本已完成。
web worker 是運(yùn)行在后臺(tái)的 JavaScript,獨(dú)立于其他腳本,不會(huì)影響頁(yè)面的性能。您可以繼續(xù)做任何愿意做的事情:點(diǎn)擊、選取內(nèi)容等等,而此時(shí) web worker 在后臺(tái)運(yùn)行。
瀏覽器支持
Internet Explorer 10, Firefox, Chrome, Safari 和 Opera 都支持Web workers.
HTML5 Web Workers 實(shí)例
下面的例子創(chuàng)建了一個(gè)簡(jiǎn)單的 web worker,在后臺(tái)計(jì)數(shù):
function startWorker() { if(typeof(Worker)!=="undefined") { if(typeof(w)=="undefined") { w=new Worker("demo_workers.js"); } w.onmessage = function (event) { document.getElementById("result").innerHTML=event.data; }; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support Web Workers..."; } }
function stopWorker() { w.terminate(); } </script>
更多建議: