Worker()

Worker() 构造函数创建一个 Worker 对象,该对象执行指定的URL脚本。这个脚本必须遵守 同源策略 。

如果 此URL有一个无效的语句,或者违反同源策略,则会抛出一个 SECURITY_ERR 类型的DOMException

Note: 浏览器厂商对于 data URI 是否同源存在分歧。尽管 Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) 和之后的版本接受 data URIs,但在所有其他浏览器中并非如此。

语法

const myWorker = new Worker("aURL");

参数

  • 如果文档不允许启动worker,则会引发SecurityError
  • 如果脚本之一的MIME类型为 text/csvimage/*video/*,或 audio/*, 则会引发NetworkError。它应该始终是 text/javacript。
  • 如果aURL无法解析,则引发SyntaxError。
aURL
是一个DOMString 表示worker 将执行的脚本的URL。它必须遵守同源策略。

返回值

创建的 worker。

例外

例子

下面的代码片段展示了通过 Worker() 创建 Worker 对象的过程, 以及随后的使用方法:

let myWorker = new Worker("worker.js");
first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}

完整的例子请看 Basic dedicated worker example (run dedicated worker).

规范

Specification Status Comment
WHATWG HTML Living Standard
Worker()
Living Standard No change from Web Workers.
Web Workers
Worker()
Editor's Draft Initial definition.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 3.5 10.0 10.6 4
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 4.4 3.5 1.0.1 10.0 11.5 5.1

另请参阅

文档标签和贡献者