---
title: DedicatedWorkerGlobalScope
slug: Web/API/DedicatedWorkerGlobalScope
tags:
- API
- DedicatedWorkerGlobalScope
- Interface
- Reference
- Web Workers
- Workers
- 参考
- 接口
translation_of: Web/API/DedicatedWorkerGlobalScope
---
{{APIRef("Web Workers API")}}
DedicatedWorkerGlobalScope
对象(也就是 {{domxref("Worker")}} 全局作用域)可以通过 {{domxref("window.self","self")}} 关键字来访问。一些在 worker 全局作用域下不可用的全局函数、命名空间对象以及构造器,也可以通过此对象使用。在 JavaScript 参考的 Web Workers 可以使用的函数和类页面中,有列举这些特性。
属性
该接口从 {{domxref("WorkerGlobalScope")}} 接口以及它的父接口 {{domxref("EventTarget")}} 继承属性,因此,此接口也实现了来自 {{domxref("WindowTimers")}}、{{domxref("WindowBase64")}} 和{{domxref("WindowEventHandlers")}} 的属性。
- {{domxref("DedicatedWorkerGlobalScope.name")}} {{readOnlyinline}}
- 通过 {{domxref("Worker.Worker", "Worker()")}} 构造器创建 {{domxref("Worker")}} 时,可以选择为其设置一个名称,即此属性的值。这主要用于调试。
从 WorkerGlobalScope 继承的属性
- {{domxref("WorkerGlobalScope.self")}}
- 返回一个指向
DedicatedWorkerGlobalScope
本身的对象引用。
- {{domxref("WorkerGlobalScope.console")}} {{readOnlyinline}}
- 返回与当前 worker 相关联的 {{domxref("Console")}}。
- {{domxref("WorkerGlobalScope.location")}} {{readOnlyinline}}
- 返回与当前 worker 相关联的 {{domxref("WorkerLocation")}}。
WorkerLocation
是一个 worker 专有的 location 对象,基本上是浏览器作用域下 {{domxref("Location")}} 的子集,但被被适配给了 worker。
- {{domxref("WorkerGlobalScope.navigator")}} {{readOnlyinline}}
- 返回与当前 worker 相关联的 {{domxref("WorkerNavigator")}}。
WorkerNavigator
是一个 worker 专有的 navigator 对象,基本上是浏览器作用域下 {{domxref("Navigator")}} 的子集,但被被适配给了 worker。
- {{domxref("WorkerGlobalScope.performance")}} {{readOnlyinline}} {{Non-standard_inline}}
- 返回与当前 worker 相关联的 {{domxref("Performance")}},是一个正常的 performance 对象,但只有一部分属性和方法可用。
事件处理器
该接口从 {{domxref("WorkerGlobalScope")}} 接口以及它的父接口 {{domxref("EventTarget")}} 继承事件处理器,因此,此接口也实现了来自 {{domxref("WindowTimers")}}、{{domxref("WindowBase64")}} 和{{domxref("WindowEventHandlers")}} 的事件处理器。
- {{domxref("DedicatedWorkerGlobalScope.onmessage")}}
- Is an {{event("Event_handlers", "event handler")}} representing the code to be called when the {{event("message")}} event is raised. These events are of type {{domxref("MessageEvent")}} and will be called when the worker receives a message from the document that started it (i.e. from the {{domxref("Worker.postMessage")}} method.)
- {{domxref("DedicatedWorkerGlobalScope.onmessageerror")}}
- Is an {{event("Event_handlers", "event handler")}} representing the code to be called when the {{event("messageerror")}} event is raised.
方法
该接口从 {{domxref("WorkerGlobalScope")}} 接口以及它的父接口 {{domxref("EventTarget")}} 继承方法,因此,此接口也实现了来自 {{domxref("WindowTimers")}}、{{domxref("WindowBase64")}} 和{{domxref("WindowEventHandlers")}} 的方法。
- {{domxref("WorkerGlobalScope.close()")}}
- 抛弃当前
WorkerGlobalScope
的 event loop 中所有正在排队的任务,关闭当前作用域。
- {{domxref("DedicatedWorkerGlobalScope.postMessage")}}
- 向该 worker 的父文档发送消息——消息可以是任何 Javascript 对象。
从 WorkerGlobalScope 继承的方法
- {{domxref("WorkerGlobalScope.dump()")}} {{non-standard_inline}}
- 向控制台写入一条消息。
- {{domxref("WorkerGlobalScope.importScripts()")}}
- 向当前 worker 的作用域导入一或更多条脚本。可按需导入任意数量的脚本,使用逗号分割参数。比如:
importScripts('foo.js', 'bar.js');
从其他来源实现的方法
- {{domxref("WindowBase64.atob()")}}
- 解码使用 base-64 编码的字符串数据。
- {{domxref("WindowBase64.btoa()")}}
- 从字符串生成使用 base-64 编码的 ASCII 字符串。
- {{domxref("WindowTimers.clearInterval()")}}
- 取消使用 {{domxref("WindowTimers.setInterval()")}} 创建的定时操作。
- {{domxref("WindowTimers.clearTimeout()")}}
- 取消使用 {{domxref("WindowTimers.setTimeout()")}} 创建的定时操作。
- {{domxref("WindowTimers.setInterval()")}}
- 每隔一定时间执行一次给定函数。
- {{domxref("WindowTimers.setTimeout()")}}
- 延迟一定时间执行给定函数。
事件
message
- Fired when the worker receives a message from its parent.
Also available via the onmessage
property.
messageerror
- Fired when a worker receives a message that can't be deserialized.
Also available via the onmessageerror
property.
规范
规范 |
状态 |
备注 |
{{SpecName('HTML WHATWG', '#dedicatedworkerglobalscope', 'DedicatedWorkerGlobalScope')}} |
{{Spec2('HTML WHATWG')}} |
|
浏览器兼容性
{{Compat("api.DedicatedWorkerGlobalScope")}}
参见