如何确定脚本是否已包含在Web Worker中?

时间:2014-02-25 04:08:23

标签: javascript web-worker

我希望将我的库设置为“正常工作”,如果是new Worker()中的新工作者。为此,我需要在self上附加一个事件监听器来接收消息。

如果我的脚本已使用importScripts()包含在其他开发人员的Web Worker中,我如何知道我何时是第三方并且不应该在自己上附加事件监听器来接收消息?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用WorkerGlobalScope

if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
    // code
} else {
    // code
}

即,您可以检查是否缺少document以检查您是否在工作人员中。

specs也表示:

  

DOM API(节点对象,文档对象等)不可用   对于本规范的此版本中的工作人员。