WorkerGlobalScope

WorkerGlobalScopeウェブワーカー API のインターフェイスで、あらゆるワーカーのスコープを表します。ワーカーには閲覧コンテキストがありません。このスコープには、通常 Window オブジェクトによって伝えられる情報が含まれます。この場合では、イベントハンドラーやコンソール、関連する WorkerNavigator オブジェクトのことです。ぞれぞれの WorkerGlobalScope は独自のイベントループを持ちます。

このインターフェイスは通常、 それぞれのワーカーの種類に合わせて特化されます。 DedicatedWorkerGlobalScope は専用ワーカーため、 SharedWorkerGlobalScope は共有ワーカーのため、 ServiceWorkerGlobalScopeサービスワーカーのためのものです。 self プロパティはそれぞれのコンテキストに特化したスコープを返します。

EventTarget WorkerGlobalScope

インスタンスプロパティ

このインターフェイスには、 EventTarget インターフェイスから継承したプロパティがあります。

標準プロパティ

WorkerGlobalScope.navigator 読取専用

ワーカーに関連した WorkerNavigator を返します。これは特化された navigator オブジェクトであり、ほぼ閲覧スコープの Navigator のサブセットですが、ワーカーに適合したものです。

WorkerGlobalScope.self 読取専用

WorkerGlobalScope 自身の参照を返します。ほとんどの場合、 DedicatedWorkerGlobalScope, SharedWorkerGlobalScope, ServiceWorkerGlobalScope のような特化されたスコープです。

WorkerGlobalScope.location 読取専用

ワーカーに関連した WorkerLocation を返します。これは特化された location オブジェクトであり、ほぼ閲覧スコープのの Location のサブセットですが、ワーカーに適合したものです。

WorkerGlobalScope.fonts 読取専用

このワーカーに関連付けられた FontFaceSet (en-US) を返します。

非標準プロパティ

WorkerGlobalScope.performance (en-US) 読取専用 Non-standard

ワーカーに関連した Performance を返す。これは、通常の performance オブジェクトですが、ワーカーで利用可能なプロパティやメソッドのみを持つサブセットであることが異なります。

WorkerGlobalScope.console 読取専用 Non-standard

ワーカーに関連付けられた console オブジェクトを返します。

他の場所で実装されているインスタンスプロパティ

caches 読取専用

現在のコンテキストに関連付けられた CacheStorage オブジェクトを返します。このオブジェクトは、オフラインで使用するための資産の保存や、リクエストに対するカスタムレスポンスの生成といった機能を実現します。

indexedDB 読取専用

アプリケーションが索引付きデータベースの機能に非同期でアクセスするための機構を提供し、 IDBFactory オブジェクトを返します。

isSecureContext 読取専用

現在のコンテキストが安全か (true) そうでないか (false) を示す論理値を返します。

origin 読取専用

グローバルオブジェクトのオリジンを文字列としてシリアライズしたものを返します。

scheduler (en-US) 読取専用

現在のコンテキストに関連付けられた Scheduler (en-US) オブジェクトを返します。 これは優先度付きタスクスケジューリング API (en-US) を使用する入口です。

イベント

error

エラーが発生したときに発行されます。

offline

ブラウザーがネットワークへのアクセスを失ったときに発行され、 navigator.onLine の値が false に切り替わります。

online

ブラウザーがネットワークへアクセスできるようになったときに発行され、 navigator.onLine の値が true に切り替わります。

languagechange

ユーザーの優先言語が変更された際に、グローバル/ワーカースコープで発行されます。

rejectionhandled Non-standard

Promise の拒否イベントが処理された際に発行されます。

unhandledrejection Non-standard

Promise の拒否イベントが処理されなかったときに発行されます。

インスタンスメソッド

このインターフェイスは、EventTarget インターフェイスから継承したメソッドがあります。

標準メソッド

WorkerGlobalScope.importScripts()

ワーカーののスコープに 1 つ以上のスクリプトをインポートします。カンマ区切りで任意の数を指定できます。例:importScripts('foo.js', 'bar.js');

非標準メソッド

WorkerGlobalScope.dump() 非推奨 Non-standard

標準出力、たとえば端末にメッセージを書き込むことができます。これは Firefox の window.dump ですが、ワーカーのためのものです。

他で実装されているインスタンスメソッド

atob()

base-64 エンコーディングを使用してエンコードされた文字データをデコードする。

btoa()

バイナリーデータ文字列から base-64 エンコードされた ASCII 文字列を生成する。

clearInterval()

setInterval() を使用して設定された繰り返し処理をキャンセルする。

clearTimeout()

setTimeout() を使用して設定された繰り返し処理をキャンセルする。

createImageBitmap()

さまざまな画像ソースを受け入れ、プロミス (Promise) を返します。これは ImageBitmap (en-US) に解決されます。オプションとして、ソースを (sx, sy) を原点とする幅 sw, 高さ sh のピクセル矩形に切り詰めます。

fetch()

リソースのネットワークからの取得プロセスを開始します。

setInterval()

指定したミリ秒周期で実行されるように関数をスケジュールします。

setTimeout()

指定された時間内に実行されるように関数をスケジューリングします。

reportError() (en-US)

処理されない例外をエミュレートして、スクリプトのエラーを報告します。

コード内で WorkerGlobalScope に直接アクセスすることはありません。しかし、プロパティやメソッドが DedicatedWorkerGlobalScopeSharedWorkerGlobalScope のような特化されたグローバルスコープに継承されています。たとえば、ワーカーがほかのスクリプトをインポートした場合、ワーカースコープの navigator オブジェクトの内容を以下の 2 行で表示することができます。

importScripts('foo.js');
console.log(navigator);

メモ: ワーカースクリプトのグローバルスコープは、実行しているワーカーのグローバルスコープ(DedicatedWorkerGlobalScope やその他)と、 WorkerGlobalScope からメソッドやプロパティなどを継承しているすべてのワーカーのグローバルスコープで有効であるため、上記のように親オブジェクトを指定しなくとも実行できます。

仕様書

Specification
HTML Standard
# the-workerglobalscope-common-interface

ブラウザーの互換性

BCD tables only load in the browser

関連項目