Inline-Web-Worker: Ein umfassender Leitfaden
Während Web-Worker normalerweise in separaten JavaScript-Dateien definiert werden, gibt es eine Methode, sie inline zu erstellen innerhalb derselben HTML-Datei. Dieser Ansatz ist vorteilhaft, wenn die Anzahl der separaten Dateien für die Verteilung minimiert werden soll, insbesondere wenn Tools wie der Closing-Compiler zur Codeoptimierung verwendet werden.
Inline-Web-Worker erstellen
Inline-Web-Worker verwenden Blob(), um ein URL-Handle für den Worker-Code als Zeichenfolge zu erstellen. Dadurch kann der Worker direkt in die HTML-Datei eingebunden werden. Hier ist ein vollständiges Beispiel:
HTML mit Inline-Worker-Code:
<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>
Haupt-JavaScript-Code:
<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>
In diesem Beispiel wird der Inline-Worker-Code innerhalb des