4
我想建立我的圖書館作爲網絡工作者「只是工作」,如果在new Worker()
中分解了。爲此,我需要在self
上附加一個事件監聽器來接收消息。如何確定腳本是否已包含在Web Worker中?
如果我的腳本已被包含在另一個開發人員的Web Worker中使用importScripts()
,我怎麼知道我是什麼時候我是第三方,並且不應該在自己上附加事件偵聽器來接收消息?
我想建立我的圖書館作爲網絡工作者「只是工作」,如果在new Worker()
中分解了。爲此,我需要在self
上附加一個事件監聽器來接收消息。如何確定腳本是否已包含在Web Worker中?
如果我的腳本已被包含在另一個開發人員的Web Worker中使用importScripts()
,我怎麼知道我是什麼時候我是第三方,並且不應該在自己上附加事件偵聽器來接收消息?
您可以嘗試像這樣使用WorkerGlobalScope:
if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
// code
} else {
// code
}
也就是說,你可以檢查沒有document
來檢查你的員工是。
另外,specs說:
的DOM的API(Node對象,Document對象等)不可用 工人在該版本中規範。
我讀過規範的方式,以及從目前爲止我看過的測試,是一個包含的腳本也會有一個對自我的引用。如果是這種情況,並且自我總是指向每個spec鏈接的「WorkerGlobalScope」(關鍵詞:「global」),我很困惑這是如何幫助我確定自己是否是第三方。 – buley