1

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

如果是这样,有人可以做一个简单的演示,我对 SharedWorkers 还是很陌生。我看到一个非常接近回答我的问题但没有提供示例的线程,请参见:@Raynos 的第二个答案

HTML5 中 Shared Worker 和 Worker 有什么区别?

我还查看了主要文档,回答这个问题有点缺乏光泽。它只是继续使用单个共享工作者与其他页面对话。无论如何 , 一个 实际 的 例子 会 非常 惊人 , 我 已经 寻找 了 很长时间 , 到目前为止 什么 都 没有 .

4

1 回答 1

2

SharedWorkers 的支持有限- 只有 Firefox 和 Chrome。除非您有已知的受众,否则最好避免使用它们。

回答这个问题:一个 SharedWorker不能直接访问另一个 SharedWorker 的变量。

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

一般来说,SharedWorkers 在以下情况下很有用:

  1. 您的应用程序打开多个窗口或框架
  2. 任何实例都可以设置值并启动处理,并且
  3. 结果将被发送回部分或所有实例。

这是一个相当不寻常的用例。

于 2018-02-22T14:14:56.480 回答