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 der Same-Origin-Policy entsprechen.
Hinweis: Es gibt Meinungsverschiedenheiten unter den Browserherstellern darüber, ob eine Daten-URL als gleiche Herkunft betrachtet wird oder nicht. Obwohl Firefox 10.0 und später Daten-URLs akzeptieren, ist dies 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 der Same-Origin-Policy entsprechen.
name
Optional-
Ein String, der einen eindeutigen Namen für den
SharedWorkerGlobalScope
angibt, der den Gültigkeitsbereich des Workers repräsentiert, was nützlich ist, um neue Instanzen desselben SharedWorkers zu erstellen und bei der Fehlersuche. options
Optional-
Ein Objekt, das die beim Erstellen der Objektinstanz festzulegenden Optionen enthält. Verfügbare Eigenschaften sind wie folgt:
type
-
Ein String, der den Typ des zu erstellenden Workers angibt. Der Wert kann
classic
odermodule
sein. Wird nichts angegeben, wird standardmäßigclassic
verwendet. credentials
-
Ein String, der den Typ der Anmeldeinformationen angibt, die für den Worker verwendet werden sollen. Der Wert kann
omit
,same-origin
oderinclude
sein. Wird nichts angegeben oder der Typ istclassic
, wird standardmäßigomit
(keine Anmeldeinformationen erforderlich) verwendet. name
-
Ein String, der einen eindeutigen Namen für den
SharedWorkerGlobalScope
angibt, der den Gültigkeitsbereich des Workers repräsentiert, was hauptsächlich für Debugging-Zwecke nützlich ist. -
Ein String, der angibt, welche
SameSite
-Cookies dem Worker verfügbar sein sollen. Kann einen der folgenden beiden Werte haben:- 'all'
-
SameSite=Strict
,SameSite=Lax
undSameSite=None
Cookies sind alle dem Worker verfügbar. Diese Option wird nur in First-Party-Kontexten unterstützt und ist standardmäßig in First-Party-Kontexten. - 'none'
-
Nur
SameSite=None
Cookies sind dem Worker verfügbar. Diese Option wird in First-Party- und Third-Party-Kontexten unterstützt und ist standardmäßig in Third-Party-Kontexten.
Ausnahmen
SecurityError
DOMException
-
Wird ausgelöst, wenn das Dokument nicht berechtigt ist, Worker zu starten, beispielsweise wenn die URL eine ungültige Syntax hat oder die Same-Origin-Policy verletzt wird, oder wenn der
sameSiteCookies
-Wert im gegebenen Kontext nicht unterstützt wird. NetworkError
DOMException
-
Wird ausgelöst, wenn der MIME-Typ des Worker-Skripts inkorrekt 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 SharedWorker
-Objekts unter Verwendung des SharedWorker()
Konstruktors 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 Basisbeispiel für einen Shared Worker (Shared Worker ausführen.)
Spezifikationen
Specification |
---|
HTML # dom-sharedworker-dev |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Das
SharedWorker
Interface, zu dem es gehört.