该 DedicatedWorkerGlobalScope 对象(也就是 Worker
全局作用域)可以通过 self
关键字来访问 。也可以在这上面使用一些不直接与该worker全局作用域相关的全局函数,命名空间对象以及构造器,相关信息可以参见 JavaScript Reference。更多内容参考: Functions available to workers。
属性
该接口属性继承自WorkerGlobalScope
接口以及它的父类EventTarget
,因此实现了来自于WindowTimers
, WindowBase64
和WindowEventHandlers
中的属性。
从WorkerGlobalScope继承的属性
WorkerGlobalScope.self
- 返回一个引用自 DedicatedWorkerGlobalScope本身的对象
WorkerGlobalScope.console
只读- 返回和worker相关的
Console
。 WorkerGlobalScope.location
只读- 返回和worker相关的
WorkerLocation
。 WorkerLocation 是一个特定的 location 对象, 绝大部分是浏览器作用域的Location
的子集,但根据worker进行了一些修改。 WorkerGlobalScope.navigator
只读- WorkerNavigator 是一个特定的 location 对象, 绝大部分是浏览器作用域的
Navigator
的子集,但根据worker进行了一些修改。 WorkerGlobalScope.performance
只读- 返回和worker相关的
Performance
对象 ,该对象是标准的performance对象,但是只是其属性和方法的子集。
事件处理程序
该接口继承了来自于WorkerGlobalScope
接口以及它的父类 EventTarget
,因此实现了来自于 WindowTimers
,WindowBase64
,和 WindowEventHandlers
中的属性。
DedicatedWorkerGlobalScope.onmessage
- 是一个
EventHandler
,其代码会在一个message
事件产生时被调用。这些事件的类型是MessageEvent
并且将会被在worker接收到一个来自于启动该worker的文档的消息时被调用(比如来自于Worker.postMessage
方法。)
Methods
该接口继承了来自于WorkerGlobalScope
接口以及它的父类 EventTarget
,因此实现了来自于 WindowTimers
,WindowBase64
,和 WindowEventHandlers
中的属性。
DedicatedWorkerGlobalScope.postMessage
- 发送消息到生成该worker的父文档——消息可以由任何Javascript对象组成。
继承自WorkerGlobalScope
WorkerGlobalScope.close()
- 抛弃所有正在该WorkerGlobalScope的 event loop中排队的任务,有效地关闭该特定作用域。
WorkerGlobalScope.dump()
- 往控制台写入一条消息。
WorkerGlobalScope.importScripts()
- 导入一条或者以上脚本到当前worker的作用域里。你可以根据你的需求指定要导入的脚本,通过逗号分割。比如:importScripts('foo.js', 'bar.js');
由别的地方实现的方法
WindowBase64.atob()
- 解码经过base-64编码后的字符串数据。
WindowBase64.btoa()
- 将二进制数据用base-64编码为ASCII 字符串。
WindowTimers.clearInterval()
- 取消使用
WindowTimers.setInterval()
创建的重复操作集。 WindowTimers.clearTimeout()
- 取消使用
WindowTimers.setTimeout()
创建的重复操作集。 WindowTimers.setInterval()
- 按计划每X毫秒执行某一函数。
WindowTimers.setTimeout()
- 延迟执行某一函数。
相关规范
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard DedicatedWorkerGlobalScope |
Living Standard | No change from Web Workers. |
Web Workers DedicatedWorkerGlobalScope |
Editor's Draft | Initial definition. |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 4 | 3.5 (1.9.1) | 10 | 10.6 | 4 |
ononline , onoffline |
(Yes) | 29 (29) | ? | ? | ? |
console |
(Yes) | 29 (29)[1] 30 (30) |
? | ? | ? |
performance |
(Yes) | 34 (34) | ? | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | ? | (Yes) | 1.0 (1.9.1) | 1.0.1 | 10 | 11.5 | 5.1 |
ononline , onoffline |
? | (Yes) | 29.0 (29)[1] 30.0 (30) |
1.4 | ? | ? | ? |
console |
? | (Yes) | 29.0 (29) | 1.4 | ? | ? | ? |
performance |
? | (Yes) | 34.0 (34) | 2.1 | ? | ? | ? |
[1] Gecko 29.0 implemented this as WorkerConsole
. Gecko 30.0 changed this to the regular Console
.