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.
Remarque: Il y a désaccord entre les fabricants de navigateur pour savoir si l'URI doit avoir la même origine ou non. Bien que Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) et les version supérieurs acceptent des origines différentes, ce n'est pas le cas des autres navigateurs.
Syntaxe
var monWorker = new SharedWorker(uneURL, nom); var monWorker = new SharedWorker(uneURL, options);
Paramètre
- uneURL
- Une
DOMString
qui représente l'URL du scripte du worker qui sera exécuté. Il doit obéir à la politique de même origine. - nom Facultatif
- Une
DOMString
indiquant un nom pour leSharedWorkerGlobalScope
représentant la portée du worker. Souvent utilisé pour le débogage. - options Facultatif
- Une objet contenant les propriétés qui peuvent être défini à la création. Les propriété possibles sont:
type
: UneDOMString
spécifiant le type de worker à créer. Les valeurs possibles sont:classic
oumodule
. Si non spécifié, la valeur par défaut estclassic
.credentials
: UneDOMString
spécifiant le type de crédit à utilisé pour le worker. La valeur peut êtreomit
,same-origin
ouinclude
. Si non spécifié ou si le type estclassic
, la valeur par défaut seraomit
(pas de crédit nécéssaire).name
: UneDOMString
spécifiant un identifiant pour leSharedWorkerGlobalScope
représentant la porté du worker, souvent utilisé pour déboguer.
Valeur retournée
Le woker créé.
Exceptions
- Une
SecurityError
est levé si le document n'est pas autorisé à lancer le worker. Par exemple si l'URL a une syntaxe invalide ou si la politique de même origine est violée. - Une
NetworkError
est levé si le type MIME du script worker n'est pas correct. Le type MIME doit toujours êtretext/javascript
. - Une
SyntaxError
est levée si uneURL ne peut pas être analysée.
Exemple
L'extrait de code suivant montre la création d'un objet SharedWorker
en utilisant le contructeur SharedWorker()
et l'usage qui en est fait.
var myWorker = new SharedWorker('worker.js');
myWorker.port.start();
first.onchange = function() {
myWorker.port.postMessage([first.value,second.value]);
console.log('Message posted to worker');
}
second.onchange = function() {
myWorker.port.postMessage([first.value,second.value]);
console.log('Message posted to worker');
}
myWorker.port.onmessage = function(e) {
result1.textContent = e.data;
console.log('Message received from worker');
}
Pour l'exemple en complet, voir Basic shared worker example (run shared worker.)
Spécifications
Spécification | Statuts | Commentaire |
---|---|---|
HTML Living Standard La définition de 'SharedWorker()' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Voir aussi
- L'interface
SharedWorker
auquel il appartient. - Une autre démonstration de multiplication.