--- title: WorkerGlobalScope slug: Web/API/WorkerGlobalScope tags: - API - Interface - NeedsBrowserCompatibility - Reference - WorkerGlobalScope - Workers translation_of: Web/API/WorkerGlobalScope ---
{{APIRef("Web Workers API")}}
Web Workers API の WorkerGlobalScope
インターフェースは、いずれかの worker のスコープを表すインターフェースです。worker はブラウジングコンテクストを持ちません; このスコープには、通常 {{domxref("Window")}} オブジェクトによって伝えられた情報が含まれます — この場合、イベントハンドラやコンソール、関連する {{domxref("WorkerNavigator")}} オブジェクトのことです。ぞれぞれの WorkerGlobalScope
は独自のイベントループを持ちます。
このインターフェースは通常、 それぞれの work タイプによって特化されます: dedicated workers のための {{domxref("DedicatedWorkerGlobalScope")}} と shared workers のための {{domxref("SharedWorkerGlobalScope")}}、ServiceWorker のための {{domxref("ServiceWorkerGlobalScope")}} です。self
プロパティはそれぞれのコンテキストに特化したスコープを返します。
このインターフェースは、 {{domxref("EventTarget")}} インターフェースから継承したプロパティと、 {{domxref("WindowTimers")}}、 {{domxref("WindowBase64")}}、 {{domxref("WindowEventHandlers")}} からのプロパティを実装しています。
WorkerGlobalScope
自身の参照を返す。ほとんどの場合、 {{domxref("DedicatedWorkerGlobalScope")}} や {{domxref("SharedWorkerGlobalScope")}} 、{{domxref("ServiceWorkerGlobalScope")}} のような特定のスコープである。このインターフェースは、{{domxref("EventTarget")}} インターフェースから継承したイベントハンドラと {{domxref("WindowTimers")}} と {{domxref("WindowBase64")}} のイベントハンドラを実装しています。
Promise
の rejection イベントを制御するためのイベントハンドラ。Promise
の rejection イベントのためのイベントハンドラ。このインターフェースは、{{domxref("EventTarget")}} インターフェースから併称したメソッドと{{domxref("WindowTimers")}}、 {{domxref("WindowBase64")}}、 {{domxref("WindowEventHandlers")}}、 {{domxref("GlobalFetch")}} のメソッドを実装しています。
WorkerGlobalScope
のイベントループにキューされているタスクを破棄する。 importScripts('foo.js', 'bar.js');
コード内で WorkerGlobalScope
に直接アクセスすることはありません; しかし、{{domxref("DedicatedWorkerGlobalScope")}} や {{domxref("SharedWorkerGlobalScope")}} のような特定のグローバルスコープからプロパティやメソッドが継承されています。たとえば、worker にほかのスクリプトをインポートして、次の 2 行を使用して worker スコープの navigator
オブジェクトのコンテンツを表示できます:
importScripts('foo.js'); console.log(navigator);
ノート: worker スクリプトのグローバルスコープは、実行している worker グローバルスコープ({{domxref("DedicatedWorkerGlobalScope")}} やそのほか)と WorkerGlobalScope
からメソッドやプロパティなどを継承している すべての worker グローバルスコープで有効であるため、上記のように親オブジェクトを指定しなくとも実行できます。
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('HTML WHATWG', '#workerglobalscope', 'WorkerGlobalScope')}} | {{Spec2('HTML WHATWG')}} | {{SpecName("Web Workers")}} から変更なし。 |
{{SpecName('Service Workers')}} | {{Spec2('Service Workers')}} | caches を定義。 |
{{SpecName('Web Workers', '#workerglobalscope', 'WorkerGlobalScope')}} | {{Spec2('Web Workers')}} | 初期定義。 |
{{CompatibilityTable}}
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | {{CompatChrome(4)}} | {{CompatGeckoDesktop("1.9.1")}} | 10 | 10.6 | 4 |
ononline , onoffline |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("29")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
console {{Non-standard_inline}} |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("29")}}[1] {{CompatGeckoDesktop("30")}} |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
performance |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("34")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
caches |
{{CompatChrome(40)}} | {{CompatUnknown}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
基本サポート | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("1.9.1")}} | 1.0.1 | 10 | 11.5 | 5.1 |
ononline , onoffline |
{{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("29")}}[1] {{CompatGeckoMobile("30")}} |
1.4 | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
console {{Non-standard_inline}} |
{{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("29")}} | 1.4 | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
performance |
{{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("34")}} | 2.1 | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
caches |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
[1] Gecko 29 ではこれを WorkerConsole
として実装しています。バージョン 30 からは通常の Console
を使用しています。