WorkerGlobalScope
接口在
Web 工作者 API
is an interface representing the scope of any worker. Workers have no browsing context; this scope contains the information usually conveyed by
Window
objects — in this case event handlers, the console or the associated
WorkerNavigator
object. Each
WorkerGlobalScope
has its own event loop.
This interface is usually specialized by each worker type:
DedicatedWorkerGlobalScope
for dedicated workers,
SharedWorkerGlobalScope
for shared workers, and
ServiceWorkerGlobalScope
for
ServiceWorker
。
self
property returns the specialized scope for each context.
此接口继承的特性来自
EventTarget
interface and
WindowOrWorkerGlobalScope
and
WindowEventHandlers
mixins.
WorkerGlobalScope.navigator
只读
WorkerNavigator
associated with the worker. It is a specific navigator object, mostly a subset of the
Navigator
for browsing scopes, but adapted to workers.
WorkerGlobalScope.self
只读
WorkerGlobalScope
itself. Most of the time it is a specific scope like
DedicatedWorkerGlobalScope
,
SharedWorkerGlobalScope
or
ServiceWorkerGlobalScope
.
WorkerGlobalScope.location
只读
WorkerLocation
associated with the worker. It is a specific location object, mostly a subset of the
定位
for browsing scopes, but adapted to workers.
WorkerGlobalScope.performance
只读
性能
associated with the worker. It is a regular performance object, except that only a subset of its property and methods are available to workers.
WorkerGlobalScope.console
只读
控制台
associated with the worker.
WindowOrWorkerGlobalScope.caches
只读
CacheStorage
object associated with the current context. This object enables functionality such as storing assets for offline use, and generating custom responses to requests.
WindowOrWorkerGlobalScope.indexedDB
只读
IDBFactory
对象。
WindowOrWorkerGlobalScope.isSecureContext
只读
true
) 或不 (
false
).
WindowOrWorkerGlobalScope.origin
只读
Returns the global object's origin, serialized as a string. (This does not yet appear to be implemented in any browser.)
error
WorkerGlobalScope.onerror
特性。
offline
navigator.onLine
switched to
false
.
WorkerGlobalScope.onoffline
特性。
online
navigator.onLine
switched to
true
.
WorkerGlobalScope.ononline
特性。
languagechange
WorkerGlobalScope.onlanguagechange
特性。
close
EventHandler
表示要调用的代码当
close
事件被引发。
WorkerGlobalScope.onclose
特性。
rejectionhandled
Promise
拒绝事件。
WorkerGlobalScope.onrejectionhandled
特性。
unhandledrejection
Promise
拒绝事件。
WorkerGlobalScope.onunhandledrejection
特性。
此接口继承的方法来自
EventTarget
interface and
WindowOrWorkerGlobalScope
and
WindowEventHandlers
mixins.
WorkerGlobalScope.importScripts()
importScripts('foo.js', 'bar.js');
WorkerGlobalScope.dump()
window.dump
, but for workers.
WindowOrWorkerGlobalScope.atob()
Decodes a string of data which has been encoded using base-64 encoding.
WindowOrWorkerGlobalScope.btoa()
Creates a base-64 encoded ASCII string from a string of binary data.
WindowOrWorkerGlobalScope.clearInterval()
WindowOrWorkerGlobalScope.setInterval()
.
WindowOrWorkerGlobalScope.clearTimeout()
WindowOrWorkerGlobalScope.setTimeout()
.
WindowOrWorkerGlobalScope.createImageBitmap()
Promise
which resolves to an
ImageBitmap
. Optionally the source is cropped to the rectangle of pixels originating at
(sx, sy)
with width sw, and height sh.
WindowOrWorkerGlobalScope.fetch()
Starts the process of fetching a resource from the network.
WindowOrWorkerGlobalScope.setInterval()
Schedules a function to execute every time a given number of milliseconds elapses.
WindowOrWorkerGlobalScope.setTimeout()
Schedules a function to execute in a given amount of time.
WorkerGlobalScope.close()
WorkerGlobalScope
's event loop, effectively closing this particular scope. In newer browser versions,
close()
is available on
DedicatedWorkerGlobalScope
and
SharedWorkerGlobalScope
instead. This change was made to stop
close()
being available on service workers, as it isn't supposed to be used there and always throws an exception when called (see
bug 1336043
).
You won't access
WorkerGlobalScope
directly in your code; however, its properties and methods are inherited by more specific global scopes such as
DedicatedWorkerGlobalScope
and
SharedWorkerGlobalScope
. For example, you could import another script into the worker and print out the contents of the worker scope's
navigator
object using the following two lines:
importScripts('foo.js');
console.log(navigator);
Since the global scope of the worker script is effectively the global scope of the worker you are running (
DedicatedWorkerGlobalScope
or whatever) and all worker global scopes inherit methods, properties, etc. from
WorkerGlobalScope
, you can run lines such as those above without specifying a parent object.
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'WorkerGlobalScope' in that specification. |
实时标准 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
WorkerGlobalScope
|
Chrome 4 | Edge 12 | Firefox 3.5 | IE 10 | Opera 10.6 | Safari 4 | WebView Android Yes | Chrome Android Yes | Firefox Android 4 | Opera Android 11 | Safari iOS 3.2 | Samsung Internet Android Yes |
close
弃用
非标
|
Chrome 4 | Edge 12 | Firefox 3.5 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android Yes | Firefox Android 4 | Opera Android ? | Safari iOS ? | Samsung Internet Android Yes |
console
弃用
非标
|
Chrome 4 | Edge 12 |
Firefox
29
|
IE Yes | Opera Yes | Safari Yes | WebView Android 37 | Chrome Android Yes |
Firefox Android
29
|
Opera Android ? | Safari iOS ? | Samsung Internet Android Yes |
dump
弃用
非标
|
Chrome No | Edge No | Firefox No | IE No | Opera No | Safari No | WebView Android No | Chrome Android No | Firefox Android 4 | Opera Android No | Safari iOS No | Samsung Internet Android No |
importScripts
|
Chrome 4 | Edge 12 | Firefox 4 | IE 10 | Opera 10.6 | Safari 4 | WebView Android ≤37 | Chrome Android 18 | Firefox Android 4 | Opera Android 11 | Safari iOS 3.2 | Samsung Internet Android 1.0 |
languagechange
event
|
Chrome 4 | Edge 12 | Firefox 74 | IE Yes | Opera 11.5 | Safari 4 | WebView Android ? | Chrome Android 40 | Firefox Android No | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
location
|
Chrome 4 | Edge 12 | Firefox 3.5 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android 40 | Firefox Android 4 | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
navigator
|
Chrome 4 | Edge 17 | Firefox 3.5 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android 40 | Firefox Android 4 | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
onclose
弃用
非标
|
Chrome 4 | Edge 12 | Firefox 3.5 — 50 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android 40 | Firefox Android 4 — 50 | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
onerror
|
Chrome 4 | Edge 12 | Firefox 3.5 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android 40 | Firefox Android 4 | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
onlanguagechange
|
Chrome 4 | Edge 12 | Firefox 74 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android 40 | Firefox Android No | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
onoffline
|
Chrome 4 | Edge ≤79 | Firefox 29 | IE ? | Opera ? | Safari ? | WebView Android Yes | Chrome Android 40 | Firefox Android 29 | Opera Android ? | Safari iOS ? | Samsung Internet Android 4.0 |
ononline
|
Chrome 4 | Edge ≤79 | Firefox 29 | IE ? | Opera ? | Safari ? | WebView Android Yes | Chrome Android 40 | Firefox Android 29 | Opera Android ? | Safari iOS ? | Samsung Internet Android 4.0 |
性能
|
Chrome Yes | Edge ≤79 | Firefox 34 | IE ? | Opera ? | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android 34 | Opera Android ? | Safari iOS ? | Samsung Internet Android Yes |
self
|
Chrome 4 | Edge 12 | Firefox 3.5 | IE Yes | Opera 11.5 | Safari 4 | WebView Android 37 | Chrome Android 40 | Firefox Android 34 | Opera Android Yes | Safari iOS 5.1 | Samsung Internet Android 4.0 |
完整支持
不支持
兼容性未知
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
见实现注意事项。
Window
,
DedicatedWorkerGlobalScope
,
SharedWorkerGlobalScope
,,
ServiceWorkerGlobalScope
Worker
,
WorkerLocation
,
WorkerGlobalScope
,和
ServiceWorkerGlobalScope
.