Worker() コンストラクターは引数の URL で指定されたスクリプトを実行する Worker オブジェクトを作成します。このスクリプトは 同一生成元ポリシー (SOP) に従わなければいけません。

引数の URL が無効な構文だったり SOP に違反したりしている場合、SECURITY_ERR 型の DOMException を返します。

注記: data URI が SOP に違反するかどうかをブラウザーベンダーの間で合意されていません。Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) とそれより後のリリースでは data URI を受け入れますが、すべてのブラウザーでは、そうならない場合があります。

構文

var myWorker = new Worker(aURL, options);

引数

aURL
Worker オブジェクトが後に実行するスクリプトの URL の USVString です。SOP に従っていなければいけません。
options Optional
オブジェクトを作成するときに設定できるオプションプロパティを持つオブジェクトです。以下のプロパティを使用できます:
  • type: 作成する worker のタイプを指定する DOMString。使用できる値は classic または module です。指定しない場合の既定値は classic です。
  • credentials: worker を使用するためのクレデンシャルのタイプを指定する DOMString です。使用できる値は omitsame-origininclude です。指定しない場合、または worker が classic タイプである場合はの既定値は omit (クレデンシャルは不要) です。
  • name: worker のスコープを表す DedicatedWorkerGlobalScope を識別する名前を示す DOMString です。これは主に、デバッグで役に立ちます。

例外

  • ドキュメントが worker の開始を許可されていない場合に、SecurityError が発生します。
  • スクリプトのひとつの MIME タイプが text/csv, image/*, video/*, or audio/* である場合に NetworkError が発生します。これは常に text/javacript であるべきです。
  • aURL をパースできない場合に SyntaxError が発生します。

次のコードスニペットは Worker() コンストラクターを使って Worker オブジェクトを作成し、続いてそのオブジェクトの使い方を表しています。

var myWorker = new Worker('worker.js');

first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}

完全な例を見るには、Basic dedicated worker example (run dedicated worker) を参照してください。

仕様

仕様書 策定状況 コメント
HTML Living Standard
Worker() の定義
現行の標準  

ブラウザー互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 4Edge 完全対応 ありFirefox 完全対応 3.5IE 完全対応 10Opera 完全対応 10.6Safari 完全対応 4WebView Android 完全対応 4Chrome Android 完全対応 18Edge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 11.5Safari iOS 完全対応 5.1Samsung Internet Android 完全対応 あり
Constructor name optionChrome 完全対応 70Edge 完全対応 18Firefox 完全対応 55IE 未対応 なしOpera 完全対応 57Safari 未対応 なし
補足
未対応 なし
補足
補足 Supported in Safari Technology Preview 64
WebView Android 未対応 なしChrome Android 完全対応 70Edge Mobile ? Firefox Android 完全対応 55Opera Android 完全対応 57Safari iOS 未対応 なし
補足
未対応 なし
補足
補足 Supported in Safari Technology Preview 64
Samsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。

関連項目

Worker インタフェースに属しています。

ドキュメントのタグと貢献者

このページの貢献者: yyss, dskmori, lv7777
最終更新者: yyss,