態我們最近討論了JavaScript網絡工作者 參考“專用”品種。如果您還沒有閱讀,我建議您首先這樣做 - 本文以相同的概念為基礎。 簡而言之的網絡工人
var worker = new SharedWorker("jsworker.js");
var worker = new SharedWorker("jsworker.js"); worker.port.addEventListener("message", function(e) { alert(e.data); }, false); worker.port.start(); // post a message to the shared web worker worker.port.postMessage("Alyssa");
var connections = 0; // count active connections self.addEventListener("connect", function (e) { var port = e.ports[0]; connections++; port.addEventListener("message", function (e) { port.postMessage("Hello " + e.data + " (port #" + connections + ")"); }, false); port.start(); }, false);
如何在JavaScript中創建共享工作者?
var mysharedworker = new sharedWorker('worker.js');
在此示例中,'worker.js'是共享工作者將執行的腳本。重要的是要注意,由於相同的原始策略限制,該腳本必須與創建共享工人的腳本在同一域上。
>
我如何使用共享工作者進行通信?後郵政方法用於將消息發送給共享工作者,而onMessage事件處理程序則用於從中接收消息。以下是一個示例:
//從共享的工人
mysharedworker.porter.porter.port.port.onmessage.onmessage.onmessage = function(E){e) e.data);
};
>共享工人可以在不同的瀏覽器選項卡之間共享數據嗎?
是的,共享工人的關鍵特徵之一是他們在不同的瀏覽器選項卡,Windows,Windows或IFRAMES之間共享數據的能力。這是可能的,因為來自同一域中的所有腳本都可以訪問相同的共享工作者實例。這使得共享工人非常適合需要在多個標籤或窗口上進行實時更新的任務,例如協作編輯應用程序或多名tab遊戲。
>是所有瀏覽器中支持的共享工人?但是,Internet Explorer不支持它們。在網站上查看最新的瀏覽器兼容性信息總是一個好主意,例如我可以使用或MDN Web Docs。
>共享工人具有“ OnError”事件處理程序,可用於捕獲和處理執行過程中發生的任何錯誤。以下是一個示例:
mySharedworker.onerror = function(e){
console.log('發生錯誤:'e.message);
};
如何終止共享的工作者?
>可以通過在共享工作人員對像上調用“終止”方法來終止共享工人。但是,重要的是要注意,這將立即終止共享工人,無論它是否完成了當前的任務。以下是一個示例:
mySharedworker.terminate();
以上是如何在HTML5中使用JavaScript共享的網絡工人的詳細內容。更多資訊請關注PHP中文網其他相關文章!