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 einhalten.
Hinweis: Es gibt Uneinigkeit unter den Browser-Herstellern darüber, ob eine Daten-URL von derselben Herkunft ist oder nicht. Obwohl Firefox 10.0 und später Daten-URLs akzeptieren, trifft das nicht auf alle anderen Browser zu.
Syntax
new SharedWorker(url)
new SharedWorker(url, name)
new SharedWorker(url, options)
Parameter
url
-
Ein String, der die URL des Skripts repräsentiert, das der Worker ausführen wird. Es muss die Same-Origin-Policy einhalten.
name
Optional-
Ein String, der einen identifizierenden Namen für den
SharedWorkerGlobalScope
spezifiziert, der den Geltungsbereich des Workers darstellt, was nützlich ist, um neue Instanzen desselben SharedWorkers zu erstellen und zu debuggen. options
Optional-
Ein Objekt, das Optionen 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 spezifiziert. Der Wert kann
classic
odermodule
sein. Falls nicht angegeben, wird standardmäßigclassic
verwendet. credentials
-
Ein String, der die Art der Anmeldeinformationen angibt, die für den Worker verwendet werden sollen. Der Wert kann
omit
,same-origin
oder_include
sein. Falls nicht angegeben oder wenntype
classic
ist, wird standardmäßigomit
(keine Anmeldeinformationen erforderlich) verwendet. name
-
Ein String, der einen identifizierenden Namen für den
SharedWorkerGlobalScope
spezifiziert, der den Geltungsbereich des Workers darstellt, was hauptsächlich zu Debugging-Zwecken nützlich ist. -
Ein String, der angibt, welche
SameSite
-Cookies dem Worker zur Verfügung stehen sollen. Kann einen der folgenden zwei Werte haben:- 'all'
-
SameSite=Strict
,SameSite=Lax
undSameSite=None
Cookies werden dem Worker alle zur Verfügung stehen. Diese Option wird nur in First-Party-Kontexten unterstützt und ist in First-Party-Kontexten der Standard. - 'none'
-
Nur
SameSite=None
Cookies werden dem Worker zur Verfügung stehen. Diese Option wird in First-Party- und Third-Party-Kontexten unterstützt und ist in Third-Party-Kontexten der Standard.
Ausnahmen
SecurityError
DOMException
-
Wird ausgelöst, wenn das Dokument nicht berechtigt ist, Workers zu starten, zum Beispiel wenn die URL eine ungültige Syntax hat, 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 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
url
nicht geparst werden kann.
Beispiele
Der folgende Codeausschnitt zeigt die Erstellung eines SharedWorker
-Objekts unter Verwendung des SharedWorker()
Konstruktors und die anschließende Verwendung 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 sehen Sie unser Einfaches Shared Worker Beispiel (Shared Worker ausführen.)
Spezifikationen
Specification |
---|
HTML> # dom-sharedworker-dev> |
Browser-Kompatibilität
Loading…
Siehe auch
- Das
SharedWorker
Interface, zu dem es gehört.