SharedWorker()
Le constructeur SharedWorker()
crée un objet SharedWorker
qui exécute le script depuis l'URL indiquée. Le script doit respecter la politique de même origine.
Note : Il y a désaccord entre les éditeurs de navigateur pour savoir si une URL de données partage la même origine. Bien que Gecko 10.0 et les versions supérieures acceptent des URL de données, ce n'est pas le cas de tous les autres navigateurs.
Syntaxe
new SharedWorker(uneURL);
new SharedWorker(uneURL, nom);
new SharedWorker(uneURL, options);
Paramètres
uneURL
-
Une chaîne de caractères représentant l'URL du script que le worker exécutera. Cette URL doit respecter la politique de même origine.
name
Facultatif-
Une chaîne de caractères indiquant un nom permettant d'identifier l'objet
SharedWorkerGlobalScope
qui représente la portée du worker. Elle est principalement utile à des fins de débogage. options
Facultatif-
Un objet contenant des propriétés d'options qui peuvent être définies lors de la création de l'instance. Les propriétés utilisables sont :
type
-
Une chaîne de caractères indiquant le type de worker à créer. La valeur peut être
classic
oumodule
. Si aucune valeur n'est fournie, c'est la valeurclassic
qui est utilisée par défaut. credentials
-
Une chaîne de caractères indiquant le type d'informations d'authentification à utiliser pour le worker. La valeur peut être
omit
,same-origin
, ouinclude
. Si aucune valeur n'est indiquée ou si le type vautclassic
, la valeur par défaut utilisée estomit
(aucune information d'authentification n'est nécessaire). name
-
Une chaîne de caractères indiquant un nom permettant d'identifier l'objet
SharedWorkerGlobalScope
qui représente la portée du worker. Elle est principalement utile à des fins de débogage.
Exceptions
SecurityError
DOMException
-
Déclenchée si le document n'est pas autorisé à démarrer des workers, par exemple si la syntaxe de l'URL est invalide ou si cette dernière ne respecte pas la règle de même origine.
NetworkError
DOMException
-
Déclenchée si le type MIME du script du worker est incorrect. Ce devrait toujours être
text/javascript
(pour des raisons historiques, d'autres types MIME JavaScript peuvent être acceptés). SyntaxError
DOMException
-
Déclenchée si
uneURL
ne peut pas être analysée.
Exemples
L'extrait de code suivant montre la création d'un objet SharedWorker
en utilisant le constructeur SharedWorker()
et l'usage qui en est fait.
const monWorker = new SharedWorker("worker.js");
monWorker.port.start();
premier.onchange = function () {
monWorker.port.postMessage([premier.value, second.value]);
console.log("Message envoyé depuis le worker");
};
second.onchange = function () {
monWorker.port.postMessage([premier.value, second.value]);
console.log("Message envoyé depuis le worker");
};
monWorker.port.onmessage = function (e) {
result1.textContent = e.data;
console.log("Message reçu du worker");
};
Pour un exemple complet, voir un exemple simple de worker partagé (exécuter le worker correspondant).
Spécifications
Specification |
---|
HTML Standard # dom-sharedworker-dev |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- L'interface
SharedWorker
à laquelle ce constructeur appartient.