webWorker記錄

htmljavascript

<!doctype>
<html>
    <head></head>
    <body>
        <script type="text/javascript" src="r4.js"></script>
        <script type="text/javascript" src="main.js"></script>
    </body>
</html>

main.jshtml

var worker =new Worker("worker.js");

console.log(r4)

worker.postMessage("hello world");     //向worker發送數據

worker.onmessage =function(evt){     //接收worker傳過來的數據函數
    console.log(evt.data);              //輸出worker發送來的數據
}

worker.jsjava

onmessage =function (evt){
  var d = evt.data;//經過evt.data得到發送來的數據
 //將獲取到的數據發送會主線程

  if (d) {
      get("worker.html", function (dd) {
           postMessage(dd);
      })
  }
}

get方法表明ajax方法。ajax

window對象沒法使用
能夠使用indexedDB緩存

因爲 Web Worker 的多線程行爲,因此它們只能使用 JavaScript 功能的子集:多線程

navigator 對象
location 對象(只讀)
XMLHttpRequest
setTimeout()/clearTimeout() 和 setInterval()/clearInterval()
應用緩存
使用 importScripts() 方法導入外部腳本
生成其餘 Web Worker函數

相關文章
相關標籤/搜索