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.
nameOptional-
Ein String, der einen identifizierenden Namen für den
SharedWorkerGlobalScopespezifiziert, der den Geltungsbereich des Workers darstellt, was nützlich ist, um neue Instanzen desselben SharedWorkers zu erstellen und zu debuggen. optionsOptional-
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
classicodermodulesein. Falls nicht angegeben, wird standardmäßigclassicverwendet. credentials-
Ein String, der die Art der Anmeldeinformationen angibt, die für den Worker verwendet werden sollen. Der Wert kann
omit,same-originoder_includesein. Falls nicht angegeben oder wenntypeclassicist, wird standardmäßigomit(keine Anmeldeinformationen erforderlich) verwendet. name-
Ein String, der einen identifizierenden Namen für den
SharedWorkerGlobalScopespezifiziert, 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=LaxundSameSite=NoneCookies 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=NoneCookies 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
SecurityErrorDOMException-
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. NetworkErrorDOMException-
Wird ausgelöst, wenn der MIME-Typ des Worker-Skripts falsch ist. Er sollte immer
text/javascriptsein (aus historischen Gründen können andere JavaScript-MIME-Typen akzeptiert werden). SyntaxErrorDOMException-
Wird ausgelöst, wenn
urlnicht 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. => {
myWorker.port.postMessage([first.value, second.value]);
console.log("Message posted to worker");
};
});
myWorker.port. => {
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
SharedWorkerInterface, zu dem es gehört.