Web Worker是 運行在后臺的javascript,也就是說worker其實就是就一個js文件對象,worker可以讓他所包含的js代碼運行在后臺
-
特點:
1)充分利用多核CPU的優(yōu)勢
2)對多線程支持非常好
3)不會影響頁面的性能
4)不能訪問web頁面和DOM API
5)所有的主流瀏覽器均支持web worker,除了Internet Explorer -
Worker提供API
1)檢測當(dāng)前瀏覽器是否支持Worker
typeof(Worker) !== "undefined“
2)創(chuàng)建Worker文件
創(chuàng)建普通的 JS 文件,都可以用于 Web Worker 文件
3)創(chuàng)建Web Worker對象
var worker = new Worker("myTime.js"); 參數(shù)就是在第二步創(chuàng)建的js文件的路徑
4)worker事件
onmessage事件
用于監(jiān)聽 Web Worker 傳遞消息啄栓,通過回調(diào)函數(shù)接收傳遞的消息崖瞭,通 過回調(diào)函數(shù)的事件對象data 屬性可以獲取傳遞的消息
postMessage()
w.postMessage( “worker success.” ); 通過postMessage() 方法傳遞消息內(nèi)容 w.terminate(); 在HTML頁面中淋叶,通過調(diào)用 Web Worker 對象的terminate( ) 方法終止 Web Worker率碾。
創(chuàng)建WebWorker對象
Worker對象
onmessage事件蜻势,當(dāng)執(zhí)行postMessage事件時會觸發(fā)
postMessage()方法
terminate()方法
樣式表和布局
邏輯代碼
效果圖