WorkerGlobalScope
WorkerGlobalScope
はウェブワーカー API のインターフェイスで、あらゆるワーカーのスコープを表します。ワーカーには閲覧コンテキストがありません。このスコープには、通常 Window
オブジェクトによって伝えられる情報が含まれます。この場合では、イベントハンドラーやコンソール、関連する WorkerNavigator
オブジェクトのことです。ぞれぞれの WorkerGlobalScope
は独自のイベントループを持ちます。
このインターフェイスは通常、 それぞれのワーカーの種類に合わせて特化されます。 DedicatedWorkerGlobalScope
は専用ワーカーため、 SharedWorkerGlobalScope
は共有ワーカーのため、 ServiceWorkerGlobalScope
はサービスワーカーのためのものです。 self
プロパティはそれぞれのコンテキストに特化したスコープを返します。
インスタンスプロパティ
このインターフェイスには、 EventTarget
インターフェイスから継承したプロパティがあります。
標準プロパティ
-
ワーカーに関連した
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
に解決されます。オプションとして、ソースを (sx, sy) を原点とする幅 sw, 高さ sh のピクセル矩形に切り詰めます。 fetch()
-
リソースのネットワークからの取得プロセスを開始します。
setInterval()
-
指定したミリ秒周期で実行されるように関数をスケジュールします。
setTimeout()
-
指定された時間内に実行されるように関数をスケジューリングします。
reportError()
(en-US)-
処理されない例外をエミュレートして、スクリプトのエラーを報告します。
例
コード内で WorkerGlobalScope
に直接アクセスすることはありません。しかし、プロパティやメソッドが DedicatedWorkerGlobalScope
や SharedWorkerGlobalScope
のような特化されたグローバルスコープに継承されています。たとえば、ワーカーがほかのスクリプトをインポートした場合、ワーカースコープの navigator
オブジェクトの内容を以下の 2 行で表示することができます。
js
importScripts("foo.js");
console.log(navigator);
メモ: ワーカースクリプトのグローバルスコープは、実行しているワーカーのグローバルスコープ(DedicatedWorkerGlobalScope
やその他)と、 WorkerGlobalScope
からメソッドやプロパティなどを継承しているすべてのワーカーのグローバルスコープで有効であるため、上記のように親オブジェクトを指定しなくとも実行できます。
仕様書
Specification |
---|
HTML Standard # the-workerglobalscope-common-interface |
ブラウザーの互換性
BCD tables only load in the browser
関連項目
- その他のグローバルオブジェクトインターフェイス:
Window
、DedicatedWorkerGlobalScope
、SharedWorkerGlobalScope
、ServiceWorkerGlobalScope
- その他のワーカー関連インターフェイス:
Worker
、WorkerLocation
、WorkerGlobalScope
、ServiceWorkerGlobalScope
- ウェブワーカーの使用