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

js
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 ou module. Si aucune valeur n'est fournie, c'est la valeur classic 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, ou include. Si aucune valeur n'est indiquée ou si le type vaut classic, la valeur par défaut utilisée est omit (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.

js
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.