Heim >Web-Frontend >js-Tutorial >Inline-Web-Worker: Wann und wie werden sie eingesetzt?

Inline-Web-Worker: Wann und wie werden sie eingesetzt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 00:14:02445Durchsuche

 Inline Web Workers: When and How to Use Them?

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