Dedicated workers
DedicatedWorkerGlobalScope オブジェクト(Worker グローバルスコープ)は、 self キーワードでアクセスできます。一部の追加のグローバル関数、名前空間オブジェクト、コンストラクターは、通常はワーカーのグローバルスコープに関連付けられていませんが、利用することができ、 JavaScript リファレンスに列挙されています。ワーカーで利用できる機能も参照してください。
EventTarget WorkerGlobalScope DedicatedWorkerGlobalScope
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 4 | 12 | 3.5 | 4 | 18 | 5 | |
| close() は DedicatedWorkerGlobalScope インターフェイスのメソッドで、 DedicatedWorkerGlobalScope のイベントループでキューに入れられたタスクを破棄し、この具体的なスコープを閉じます。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| name は DedicatedWorkerGlobalScope インターフェイスの読み取り専用プロパティで、 Worker が作成された際に(オプションで)指定された名前を返すものです。これは Worker.Worker コンストラクターが DedicatedWorkerGlobalScope への参照を取得するために渡すことができる名前になります。 | 70 | 18 | 55 | 12.1 | 70 | 12.2 |
| Worker はウェブワーカー API のインターフェイスで、スクリプトで生成することができるバックグラウンドタスクを表し、作成元にメッセージを送り返すことができます。 | 2 | 12 | 3.5 | 4 | 18 | 5 |
| error は Worker インターフェイスのイベントで、ワーカーでエラーが発生したときに発行されます。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| terminate() は Worker インターフェイスのメソッドで、このワーカーを即座に停止させます。これはワーカーに対してその動作を終了する機会を提供するものではありません。即時に停止させます。 | 2 | 12 | 3.5 | 4 | 18 | 5 |
| Worker() コンストラクターは、指定された URL で指定されたスクリプトを実行する Worker オブジェクトを作成します。このスクリプトは 同一オリジンポリシーに従わなければいけません。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
worker_support 労働者で利用可能 | 69 | 79 | 34 | 16.4 | 69 | 16.4 |
Worker (mime checks) ワーカースクリプトに対する厳格なMIMEタイプチェック | | | 81 | 16 | | 16 |
Worker (options name parameter) `options.name` パラメータ | 70 | 18 | 55 | 12.1 | 70 | 12.2 |
| WorkerGlobalScope はウェブワーカー API のインターフェイスで、あらゆるワーカーのスコープを表します。ワーカーには閲覧コンテキストがありません。このスコープには、通常 Window オブジェクトによって伝えられる情報が含まれます。この場合では、イベントハンドラーやコンソール、関連する WorkerNavigator オブジェクトのことです。ぞれぞれの WorkerGlobalScope は独自のイベントループを持ちます。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| error は WorkerGlobalScope インターフェイスのイベントで、ワーカー内でエラーが発生したときに発行されます。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| importScripts() は WorkerGlobalScope インターフェイスのメソッドで、 1 つ以上のスクリプトをワーカーのスコープ内に同期的に読み込みます。 | 4 | 12 | 4 | 4 | 18 | 5 |
importScripts (mime checks) `importScripts()` に対する厳格な MIME タイプチェック | 71 | 79 | 67 | 16 | 71 | 16 |
| location は WorkerGlobalScope インターフェイスの読み取り専用プロパティで、このワーカーに関連付けられた WorkerLocation を返します。これは特有の location オブジェクトであり、大部分は閲覧スコープの Location のサブセットですが、ワーカーに合わせたものです。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| navigator は WorkerGlobalScope インターフェイスの読み取り専用プロパティで、このワーカーに関連付けられた WorkerNavigator を返します。これは特有の navigator オブジェクトであり、大部分は閲覧スコープの Navigator のサブセットですが、ワーカーに合わせたものです。 | 4 | 17 | 3.5 | 4 | 18 | 5 |
| rejectionhandled イベントは、スクリプトのグローバルスコープ(通常は WorkerGlobalScope)に送られるものであり、拒否された Promise が遅れて処理されるたび、すなわち、拒否されたプロミスが WorkerGlobalScope.unhandledrejection_event イベントが発生した後にハンドラーが割り当てられた場合に送られます。 | 49 | 79 | 69 | 11 | 49 | 11 |
| self は WorkerGlobalScope インターフェイスの読み取り専用プロパティで、 WorkerGlobalScope 自体への参照を返します。ほとんどの場合、これは DedicatedWorkerGlobalScope や SharedWorkerGlobalScope、ServiceWorkerGlobalScope などの特有のスコープです。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| unhandledrejection イベントは、スクリプトのグローバルスコープ(通常は WorkerGlobalScope)に送られるものであり、拒否ハンドラーのない Promise が拒否されたときに発行されます。 | 49 | 79 | 69 | 11 | 49 | 11 |
| WorkerLocation インターフェイスは、ワーカー (Worker) で実行されているスクリプトの絶対的な場所を定義します。そのようなオブジェクトはワーカーごとに初期化され、 WorkerGlobalScope.location プロパティから利用することができます。これは self.location を呼び出すことで取得することができます。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| hash は WorkerLocation オブジェクトのプロパティで、ワーカーの位置のハッシュ部分 (URL.hash) を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| host は WorkerLocation オブジェクトのプロパティで、ワーカーの位置のホスト部分 (URL.host) を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| hostname は WorkerLocation オブジェクトのプロパティで、ワーカーの位置のホスト名 (URL.hostname) の部分を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| href は WorkerLocation オブジェクトのプロパティで、ワーカーの位置のシリアライズされた URL の入った文字列を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| origin は WorkerLocation オブジェクトのプロパティで、このワーカーのオリジン (URL.origin) を返します。 | 38 | 14 | 29 | 10 | 38 | 10 |
| pathname は WorkerLocation オブジェクトのプロパティで、このワーカーの場所のパス名 (URL.pathname) 部分を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| port は WorkerLocation オブジェクトのプロパティで、このワーカーの位置のポート番号 (URL.port) 部分を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| protocol は WorkerLocation オブジェクトのプロパティで、このワーカーの位置のプロトコル (URL.protocol) 部分を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| search は WorkerLocation オブジェクトのプロパティで、このワーカーの位置の検索文字列 (URL.search) 部分を返します。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| toString() は WorkerLocation オブジェクトのstringifierメソッドで、このワーカーの位置のシリアライズされた URL の入った文字列を返します。これは WorkerLocation.href と同等のものです。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
| WorkerNavigator インターフェイスは Navigator インターフェイスのサブセットで、ワーカー (Worker) からアクセスできるものです。このようなオブジェクトはワーカーごとに初期化され、 WorkerGlobalScope.navigator プロパティを介して利用できます。 | 4 | 12 | 3.5 | 4 | 18 | 5 |
- このブラウザでは部分的にしか実装されていません
- Shared Workers では利用できません。バグ 40695450 を参照してください。
- このブラウザでは部分的にしか実装されていません
- Shared Workers では利用できません。バグ 40695450 を参照してください。
- このブラウザでは部分的にしか実装されていません
- Shared Workers では利用できません。バグ 265263 を参照してください。
- このブラウザでは部分的にしか実装されていません
- Shared Workers では利用できません。バグ 40695450 を参照してください。
- このブラウザでは部分的にしか実装されていません
- Shared Workers では利用できません。バグ 265263 を参照してください。
実務での使いどころ
-
Dedicated workers の活用
DedicatedWorkerGlobalScope オブジェクト(Worker グローバルスコープ)は、 self キーワードでアクセスできます。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。