2

有没有办法在主 html 文件的主体中定义一个网络工作者?像这样的东西?

<!DOCTYPE html>
<html>
<body>
<script>
var worker = new Worker();// NO URL IS PROVIDED
worker.onmessage = function(event) {
    alert("Reply: " + event.data);
}
worker.postMessage("Hello from index.html!");
</script>

</body>
</html>
4

3 回答 3

2

简而言之: *的*应该是。Web Workers在一个独立的线程中运行。因此,他们执行的代码需要包含在单独的文件中。但在我们这样做之前,首先要做的是在您的主页中创建一个新的 Worker 对象。构造函数采用工作脚本的名称:

var worker = new Worker('task.js');

如果指定的文件存在,浏览器将产生一个新的工作线程,它是异步下载的。在文件完全下载并执行之前,worker 不会开始。如果您的工作人员的路径返回 404,则工作人员将静默失败。

创建worker后,通过调用postMessage()方法启动它:

worker.postMessage(); // Start the worker.
于 2013-01-11T00:34:08.820 回答
0

Web Worker 是完全独立的程序。他们不应该那样跑。所以简短的回答是肯定的,它们必须在单独的文件中。

于 2013-01-11T00:28:40.830 回答
0

是的,如果使用 Blob 技术,您可以从 HTML 文件中的绝对 URL、字符串或其他标记加载 Web Worker

Web Worker 加载绝对 URL

于 2013-04-29T09:47:33.010 回答