可以在沒有單獨的 JavaScript 檔案的情況下使用 Web Workers 嗎?
建立Web Workers 的預設方法是將它們編寫在單獨的JavaScript 檔案中並呼叫它們如下:
<code class="js">new Worker('longrunning.js')</code>
但是,對於那些使用閉包編譯器並希望避免將工作程序分佈在不同文件中的人來說,還有另一個解決方案:
帶有BLOB 的內聯工作程序
HTTP5Rocks 為使用Blob() 函數的內聯內聯工作人員提供了一種創新方法。此技術可讓您動態產生工作腳本或建立獨立的頁面,而無需外部工作文件。
<code class="js">var blob = new Blob([ document.querySelector('#worker1').textContent ], { type: "text/javascript" }); var worker = new Worker(window.URL.createObjectURL(blob));</code>
在此範例中,id=「worker1」的HTML 腳本元素的textContent 屬性" 被檢索並用於建構具有適當MIME 類型的Blob 物件。然後,使用Blob 的createObjectURL() 方法建立具有適當MIME 類型的Blob 物件。然後,使用Blob 的createObjectURL() 方法建立的URL 建立一個新的工作執行緒。
以上是可以在沒有單獨的 JavaScript 檔案的情況下實作 Web Workers 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!