WorkerGlobalScope

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

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

EventTarget WorkerGlobalScope

インスタンスプロパティ

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

WorkerGlobalScope.caches 読取専用

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

console 読取専用 非標準

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

WorkerGlobalScope.crossOriginIsolated 読取専用

論理値で、ウェブサイトがオリジン間隔離状態にあるかどうかを返します。

WorkerGlobalScope.crypto 読取専用

グローバルオブジェクトに関連付けられた Crypto オブジェクトを返します。

WorkerGlobalScope.fonts 読取専用

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

WorkerGlobalScope.indexedDB 読取専用

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

WorkerGlobalScope.isSecureContext 読取専用

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

WorkerGlobalScope.location 読取専用

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

WorkerGlobalScope.navigator 読取専用

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

WorkerGlobalScope.origin 読取専用

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

WorkerGlobalScope.performance 読取専用

ワーカーに関連した Performance を返します。ワーカーが利用できるのは Performance インターフェイスのプロパティとメソッドのサブセットだけです。

WorkerGlobalScope.scheduler 読取専用

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

WorkerGlobalScope.trustedTypes 読取専用

グローバルオブジェクトに関連付けられた TrustedTypePolicyFactory オブジェクトを返し、信頼型 API を使用するためのエントリーポイントを提供します。

WorkerGlobalScope.self 読取専用

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

インスタンスメソッド

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

WorkerGlobalScope.atob()

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

WorkerGlobalScope.btoa()

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

WorkerGlobalScope.clearInterval()

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

WorkerGlobalScope.clearTimeout()

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

WorkerGlobalScope.createImageBitmap()

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

WorkerGlobalScope.dump() 非推奨; 非標準

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

WorkerGlobalScope.fetch()

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

WorkerGlobalScope.importScripts()

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

WorkerGlobalScope.queueMicrotask()

ブラウザーのイベントループに制御を返す前に、安全な時点で実行されるマイクロタスクをキューに入れます。

WorkerGlobalScope.setInterval()

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

WorkerGlobalScope.setTimeout()

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

WorkerGlobalScope.structuredClone()

指定された値のディープクローンを、構造化クローンアルゴリズムを用いて作成します。

WorkerGlobalScope.reportError()

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

イベント

error

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

languagechange

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

offline

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

online

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

rejectionhandled

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

securitypolicyviolation

コンテンツセキュリティポリシーに違反したときに発生します。

unhandledrejection

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

コード内で WorkerGlobalScope に直接アクセスすることはありません。しかし、プロパティやメソッドが DedicatedWorkerGlobalScopeSharedWorkerGlobalScope のような特化されたグローバルスコープに継承されています。たとえば、ワーカーがほかのスクリプトをインポートした場合、ワーカースコープの 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

関連項目