WorkerGlobalScope
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
メモ: この機能はウェブワーカー内でのみ利用可能です。
WorkerGlobalScope はウェブワーカー API のインターフェイスで、あらゆるワーカーのスコープを表します。ワーカーには閲覧コンテキストがありません。このスコープには、通常 Window オブジェクトによって伝えられる情報が含まれます。この場合では、イベントハンドラーやコンソール、関連する WorkerNavigator オブジェクトのことです。ぞれぞれの WorkerGlobalScope は独自のイベントループを持ちます。
このインターフェイスは通常、 それぞれのワーカーの種類に合わせて特化されます。 DedicatedWorkerGlobalScope は専用ワーカーため、 SharedWorkerGlobalScope は共有ワーカーのため、 ServiceWorkerGlobalScope はサービスワーカーのためのものです。 self プロパティはそれぞれのコンテキストに特化したスコープを返します。
インスタンスプロパティ
このインターフェイスには、 EventTarget インターフェイスから継承したプロパティがあります。
WorkerGlobalScope.caches読取専用 安全なコンテキスト用-
現在のコンテキストに関連付けられた
CacheStorageオブジェクトを返します。このオブジェクトは、オフラインで使用するための資産の保存や、リクエストに対するカスタムレスポンスの生成といった機能を実現します。 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()-
WorkerGlobalScope.setInterval()を使用して設定された繰り返し処理をキャンセルします。 WorkerGlobalScope.clearTimeout()-
WorkerGlobalScope.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> # the-workerglobalscope-common-interface> |
ブラウザーの互換性
Loading…
関連項目
- その他のグローバルオブジェクトインターフェイス:
Window、DedicatedWorkerGlobalScope、SharedWorkerGlobalScope、ServiceWorkerGlobalScope - その他のワーカー関連インターフェイス:
Worker、WorkerLocation、WorkerNavigator、ServiceWorkerGlobalScope - ウェブワーカーの使用