WorkerGlobalScope
WorkerGlobalScope
はウェブワーカー API のインターフェイスで、あらゆるワーカーのスコープを表します。ワーカーには閲覧コンテキストがありません。このスコープには、通常 Window
オブジェクトによって伝えられる情報が含まれます。この場合では、イベントハンドラーやコンソール、関連する WorkerNavigator
オブジェクトのことです。ぞれぞれの WorkerGlobalScope
は独自のイベントループを持ちます。
このインターフェイスは通常、 それぞれのワーカーの種類に合わせて特化されます。 DedicatedWorkerGlobalScope
は専用ワーカーため、 SharedWorkerGlobalScope
は共有ワーカーのため、 ServiceWorkerGlobalScope
はサービスワーカーのためのものです。 self
プロパティはそれぞれのコンテキストに特化したスコープを返します。
インスタンスプロパティ
このインターフェイスには、 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
のサブセットですが、ワーカーに適合したものです。 -
ワーカーに関連した
WorkerNavigator
を返します。これは特化された navigator オブジェクトであり、ほぼ閲覧スコープのNavigator
のサブセットですが、ワーカーに適合したものです。 WorkerGlobalScope.origin
読取専用-
グローバルオブジェクトのオリジンを文字列としてシリアライズしたものを返します。
WorkerGlobalScope.performance
読取専用-
ワーカーに関連した
Performance
を返します。ワーカーが利用できるのはPerformance
インターフェイスのプロパティとメソッドのサブセットだけです。 WorkerGlobalScope.scheduler
読取専用-
現在のコンテキストに関連付けられた
Scheduler
オブジェクトを返します。これは優先度付きタスクスケジューリング API を使用するエントリーポイントです。 WorkerGlobalScope.trustedTypes
読取専用-
グローバルオブジェクトに関連付けられた
TrustedTypePolicyFactory
オブジェクトを返し、信頼型 API を使用するためのエントリーポイントを提供します。 WorkerGlobalScope.self
読取専用-
WorkerGlobalScope
自身の参照を返します。ほとんどの場合、DedicatedWorkerGlobalScope
、SharedWorkerGlobalScope
、ServiceWorkerGlobalScope
のような特化されたスコープです。
インスタンスメソッド
このインターフェイスは、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
に直接アクセスすることはありません。しかし、プロパティやメソッドが DedicatedWorkerGlobalScope
や SharedWorkerGlobalScope
のような特化されたグローバルスコープに継承されています。たとえば、ワーカーがほかのスクリプトをインポートした場合、ワーカースコープの navigator
オブジェクトの内容を以下の 2 行で表示することができます。
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
、WorkerNavigator
、ServiceWorkerGlobalScope
- ウェブワーカーの使用