问题标签 [shared-worker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6774 浏览

javascript - IE 11 支持 Shared WebWorkers 吗?

我试图实现这段代码,这里是链接。它在 Chrome 中工作,而在 IE 11 中它会给出错误'SharedWorker' is undefined。但是根据caniuse的说法,IE 11 支持 WebWorkers。

有谁知道谁是对的?

0 投票
0 回答
53 浏览

javascript - 跨浏览器共享工作者的差异

我尝试使用共享网络工作者编写简单的网络应用程序。在 Chrome (55.0) 和 Opera (45.0) 中一切正常,但是当我尝试在 Firefox 中测试应用程序时,我看到了一些不同的行为。在 Chrome 工作人员关闭最后一个使用它的标签后死亡,但在 Firefox(54.0(64 位))中,它在关闭给定域的最后一个标签后死亡。那么问题来了:浏览器的行为方式是否有任何标准?因为最后我不明白是有问题还是可以得到如此不同的结果。

0 投票
1 回答
34 浏览

javascript - Javascript SharedWorker 未与主程序正常通信

我以前使用过Worker 对象,它非常简单,尤其是在教程中。

因此,下一步自然是与 SharedWorkers 合作。我把它记下来了,但现在看来 SharedWorker 没有正确响应。我向 SharedWorker 发送了一个 postMessage,在我的代码中我让 SharedWorker 发回相同的文本,有点像回声效果。

不幸的是,SharedWorker 只返回从主程序发送的消息的第一个字母,并且不会将“Background”字符串记录到控制台以让我知道 SharedWorker 正在运行。“安装完成”日志消息也证明 SharedWorker 已创建。

代码...

主要的 HTML 文件...

SharedWorker 脚本...

我究竟做错了什么?

0 投票
2 回答
1523 浏览

angular - 如何配置 Angular-CLI 生成的项目以包含 SharedWorker

SharedWorker将 a 添加到@angular/cli >1.2生成的项目的具体步骤是什么。我希望在 TypeScript 中定义 SharedWorker(具有完整/正确的类型定义编辑器支持),与主项目共享接口,并与主项目一起不断编译和测试。

我还没有找到描述如何修改 cli 生成的项目以包含 aWorkerSharedWorker. 但是,有几篇文章(例如这篇文章)展示了如何转换整个 cli 生成的项目以将其作为 Web Worker 运行。但这不是我的用例。

我想将与Lovefield数据库的交互限制SharedWorker在与主应用程序不同的进程中运行。

尽管我已经尝试了一些尝试来解决这个问题,但我并没有取得太大进展。希望有人可以为我(和未来的读者)节省很多时间。

0 投票
1 回答
226 浏览

javascript - Firefox 中的共享工作者

我正在开发一个使用 SharedWorker 中的 websocket 的应用程序。根据文档,当前版本的 Chrome 和 Firefox 应该支持 SharedWorkers。但是,当我从这个 GitHub 尝试示例时,它在 Chrome 中完美运行,但在 Firefox 中没有任何反应: https ://github.com/goeddea/scratchbox/tree/master/test_cases/shared_webworkers

这个例子是错误的,还是 Firefox 缺乏对 SharedWorkers 的相关支持,或者它可能与使用“ http://localhost ”有关(SharedWorkers 仅适用于相同的协议、主机和端口)?

0 投票
1 回答
421 浏览

firefox - Firefox Quantum SharedWorker 不工作

在 Chrome 和 Firefox <57 中它可以工作,但在 Firefox Quantum 中不起作用。

目标是将消息发送到浏览器中的另一个选项卡。

当填写文本输入并单击发送按钮时,浏览器中的另一个选项卡应在浏览器控制台中写入消息。

.html 文件:

sharedWorkerChat.js

0 投票
0 回答
43 浏览

javascript - 共享工作者之间的通信

我正在开发一个包含子应用程序的应用程序。我正在尝试使用共享工作者。一个共享工作器将用于 websockets,另一个用于每个子应用程序。

请帮助我在这两个共享工作者之间建立沟通。

我尝试使用 MessageChannel,但似乎它用于网络工作者。

工人 1 和 2

0 投票
1 回答
598 浏览

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

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

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

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

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

0 投票
1 回答
1517 浏览

javascript - 使用 Sharedworker 发送消息

使用给定的 tsconfig.json,

文件夹结构


npm install --save @types/sharedworker

在下面的代码中(来自./1_webworker/tstut.ts),

let worker: Worker = new Worker('worker.js');

使用 sharedworker 语法,声明:

let worker: SharedWorker.SharedWorker = new SharedWorker('worker.js');

但以下是错误。

如何向共享工作者发布消息字符串?

0 投票
2 回答
887 浏览

jquery - 在所有选项卡中使用 sharedWorker 显示消息

我想在所有标签中显示一条消息。所以我为此使用 sharedWorker :

和 realtime.js:

我想在浏览器的所有选项卡中看到警报,但它只有一个……有什么想法吗?