SharedWorker: SharedWorker() Konstruktor
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Der SharedWorker()
Konstruktor erstellt ein
SharedWorker
-Objekt, das das Skript an der angegebenen URL ausführt. Dieses Skript muss die Same-Origin-Policy befolgen.
Hinweis: Es gibt Uneinigkeit unter den Browserherstellern darüber, ob eine Daten-URL vom gleichen Ursprung ist oder nicht. Obwohl Firefox 10.0 und später Daten-URLs akzeptiert, ist das nicht in allen anderen Browsern der Fall.
Syntax
new SharedWorker(aURL)
new SharedWorker(aURL, name)
new SharedWorker(aURL, options)
Parameter
aURL
-
Ein String, der die URL des Skripts darstellt, das der Worker ausführen wird. Es muss die Same-Origin-Policy befolgen.
name
Optional-
Ein String, der einen identifizierenden Namen für den
SharedWorkerGlobalScope
angibt, der den Geltungsbereich des Workers repräsentiert. Dies ist nützlich zum Erstellen neuer Instanzen desselben SharedWorkers und zum Debuggen. options
Optional-
Ein Objekt, das Options-Eigenschaften enthält, die beim Erstellen des Objektinstanz gesetzt 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 zu verwendenden Anmeldedaten für den Worker angibt. Der Wert kann
omit
,same-origin
oderinclude
sein. Wenn nicht angegeben oder wenn der Typclassic
ist, wird standardmäßigomit
(keine Anmeldedaten erforderlich) verwendet. name
-
Ein String, der einen identifizierenden Namen für den
SharedWorkerGlobalScope
angibt, der den Geltungsbereich des Workers repräsentiert, was hauptsächlich für Debugging-Zwecke nützlich ist. -
Ein String, der angibt, welche
SameSite
Cookies dem Worker zur Verfügung stehen sollen. Kann einen der folgenden beiden Werte haben:- 'all'
-
SameSite=Strict
,SameSite=Lax
undSameSite=None
Cookies stehen dem Worker zur Verfügung. Diese Option wird nur im First-Party-Kontext unterstützt und ist die Standardoption im First-Party-Kontext. - 'none'
-
Nur
SameSite=None
Cookies stehen dem Worker zur Verfügung. Diese Option wird im First-Party- und Third-Party-Kontext unterstützt und ist die Standardoption in Third-Party-Kontexten.
Ausnahmen
SecurityError
DOMException
-
Wird ausgelöst, wenn das Dokument keine Erlaubnis hat, Workers zu starten, zum Beispiel wenn die URL eine ungültige Syntax hat oder die Same-Origin-Policy verletzt wird, oder wenn der Wert von
sameSiteCookies
im gegebenen Kontext nicht unterstützt wird. NetworkError
DOMException
-
Wird ausgelöst, wenn der MIME-Typ des Worker-Skripts falsch ist. Er 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 Code-Ausschnitt zeigt die Erstellung eines SharedWorker
-Objekts mit dem SharedWorker()
Konstruktor und die anschließende Nutzung des Objekts:
const myWorker = new SharedWorker("worker.js");
myWorker.port.start();
[first, second].forEach((input) => {
input.onchange = () => {
myWorker.port.postMessage([first.value, second.value]);
console.log("Message posted to worker");
};
});
myWorker.port.onmessage = (e) => {
result1.textContent = e.data;
console.log("Message received from worker");
};
Für ein vollständiges Beispiel siehe unser einfaches Shared Worker Beispiel (Shared Worker ausführen.)
Spezifikationen
Specification |
---|
HTML # dom-sharedworker-dev |
Browser-Kompatibilität
Siehe auch
- Das
SharedWorker
Interface, zu dem es gehört.