Worker: Worker() Konstruktor
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.
Der Worker()
Konstruktor erstellt ein Worker
-Objekt, das das Skript an der angegebenen URL ausführt. Dieses Skript muss der Same-Origin-Policy folgen.
Hinweis: Es gibt Meinungsverschiedenheiten unter Browserherstellern darüber, ob eine Daten-URL als selben Ursprungs gilt oder nicht. Obwohl Firefox 10 und später Daten-URLs akzeptieren, ist dies bei allen anderen Browsern nicht der Fall.
Syntax
new Worker(url)
new Worker(url, options)
Parameter
url
-
Ein String, der die URL des Skripts darstellt, das der Worker ausführen wird. Es muss der Same-Origin-Policy folgen. Die URL wird relativ zum aktuellen Speicherort der HTML-Seite aufgelöst.
Hinweis: Bundler, einschließlich webpack, Vite und Parcel, empfehlen, URLs zu übergeben, die relativ zu
import.meta.url
sind, an denWorker()
-Konstruktor. Zum Beispiel:jsconst myWorker = new Worker(new URL("worker.js", import.meta.url));
Auf diese Weise ist der Pfad relativ zum aktuellen Skript statt zur aktuellen HTML-Seite, was es dem Bundler ermöglicht, sicher Optimierungen wie Umbenennungen vorzunehmen (weil sonst die
worker.js
-URL auf eine Datei verweisen könnte, die nicht vom Bundler kontrolliert wird, sodass er keine Annahmen treffen kann). options
Optional-
Ein Objekt, das Options-Eigenschaften enthält, die beim Erstellen der Objektinstanz festgelegt werden können. Verfügbare Eigenschaften sind wie folgt:
type
-
Ein String, der den Typ des zu erstellenden Workers angibt. Der Wert kann
classic
odermodule
sein. Wenn nicht angegeben, wird standardmäßigclassic
verwendet. credentials
-
Ein String, der die Art der Anmeldeinformationen festlegt, die für den Worker verwendet werden sollen. Der Wert kann
omit
,same-origin
oderinclude
sein. Wenn nicht angegeben oder wenn der Typclassic
ist, wird standardmäßigsame-origin
verwendet (nur Anmeldeinformationen für Same-Origin-Anfragen einbeziehen). name
-
Ein String, der einen identifizierenden Namen für den
DedicatedWorkerGlobalScope
angibt, der den Bereich des Workers repräsentiert und hauptsächlich für Debugging-Zwecke nützlich ist.
Ausnahmen
SecurityError
DOMException
-
Wird ausgelöst, wenn das Dokument nicht berechtigt ist, Worker zu starten, z. B. wenn die URL eine ungültige Syntax hat oder die Same-Origin-Policy verletzt wird.
NetworkError
DOMException
-
Wird ausgelöst, wenn der MIME-Typ des Worker-Skripts falsch ist. Es sollte immer
text/javascript
sein (aus historischen Gründen können andere JavaScript MIME-Typen akzeptiert werden). SyntaxError
DOMException
-
Wird ausgelöst, wenn aURL nicht geparst werden kann.
Beispiele
Der folgende Codeausschnitt zeigt die Erstellung eines Worker
-Objekts mit dem Worker()
-Konstruktor und die anschließende Nutzung des Objekts:
const myWorker = new Worker("worker.js");
const first = document.querySelector("input#number1");
first.onchange = () => {
myWorker.postMessage(first.value);
console.log("Message posted to worker");
};
Ein vollständiges Beispiel finden Sie in unserem Basis-Beispiel für dedizierte Worker (dedizierter Worker ausführen).
Spezifikationen
Specification |
---|
HTML # dom-worker-dev |
Browser-Kompatibilität
Siehe auch
Das Worker
-Interface, zu dem es gehört.