We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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() の定義
現行の標準  

ブラウザー互換性

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応4 あり3.51010.64
Constructor name option なし ?55 ? ? ?
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応44 あり411.55.1 あり
Constructor name option なし なし ?55 ? ? なし

関連項目

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

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

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