インライン Web ワーカー: 総合ガイド
Web ワーカーは通常、別個の JavaScript ファイルで定義されますが、インラインで作成する方法もあります。同じ HTML ファイル内で。このアプローチは、配布用の個別ファイルの数を最小限に抑えることを目指す場合、特にコード最適化にクロージャ コンパイラなどのツールを使用する場合に有利です。
インライン Web ワーカーの作成
インライン Web ワーカーは、Blob() を利用してワーカー コードへの URL ハンドルを文字列として作成します。これにより、ワーカーを HTML ファイルに直接含めることができます。完全な例を次に示します。
インライン ワーカー コードを含む HTML:
<code class="html"><!DOCTYPE html> <script id="worker1" type="javascript/worker"> // This script won't be parsed by JS engines due to its type. self.onmessage = function(e) { self.postMessage('msg from worker'); }; </script></code>
メイン JavaScript コード:
<code class="javascript">var blob = new Blob([ document.querySelector('#worker1').textContent ], { type: "text/javascript" }); // Use window.webkitURL.createObjectURL() for Chrome versions below 11. var worker = new Worker(window.URL.createObjectURL(blob)); worker.onmessage = function(e) { console.log("Received: " + e.data); }; worker.postMessage("hello"); // Start the worker.</code>
この例では、インライン ワーカー コードは