SharedWorkers可以使用其他共享工作者的全局变量吗?

时间:2018-02-22 09:05:57

标签: javascript web-worker shared-worker

我需要做一些繁重的事情,发现重新格式化整个代码有点乏味,并且想知道“SharedWorkers可以使用来自其他共享工作者的全局变量吗?”。

如果有人能举一个简单的演示,我对SharedWorkers来说还是新手。我看到了一个非常接近回答我的问题的帖子,但没有提供一个例子看到:@Raynos的第二个答案

What's the difference between Shared Worker and Worker in HTML5?

我也查看了主要文档,并且回答这个问题有点缺乏光彩。它只是继续使用一个共享工作者与其他页面交谈。无论如何,这个行动的一个例子会令人惊讶,我已经搜索了很长时间并且到目前为止没有任何结果。

1 个答案:

答案 0 :(得分:1)

SharedWorkers拥有limited support - 只有Firefox和Chrome。除非你有一个已知的受众,否则他们可能最好避免。

要回答这个问题:SharedWorker可以直接访问其他SharedWorker中的变量。

与工作人员沟通的唯一方法是发布和接收消息。 SharedWorker可以启动另一个SharedWorker,但它仍然需要传递它想要共享的值。

通常,SharedWorkers在以下情况下可能很有用:

  1. 您的应用程序会打开多个窗口或框架
  2. 任何实例都可以设置值并启动处理,
  3. 结果将被回发到部分或全部实例。
  4. 这是一个相当不寻常的用例。