Worker()
Le constructeur Worker()
crée un objet Worker
qui exécute le script à l'URL spécifiée. Ce script doit obéir à la same-origin policy.
Note : il y a un désaccord entre les éditeurs de navigateur sur la question de savoir si une donnée URI relève ou non de la même origine. Bien que Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) et suivant accepte les données URIs, ce n'est pas le cas dans tous les autres navigateurs.
Syntaxe
var myWorker = new Worker(aURL, options);
Arguments
- aURL
-
Est un
DOMString
représentant l'URL du script que le worker va exécuter. Il doit obéir à la same-origin policy. - options Facultatif
-
Un objet contenant des propriétés pour définir les options. Les propriétés suivantes sont valables:
type
: UneDOMString
définissant le type de worker à créer. The valeur peuvent êtreclassic
oumodule
. Si cette prpriété n'est pas définie, la valeur seraclassic
.credentials
: uneDOMString
définissant le type de politique d'origine à utiliser pour le worker. Les valeurs peuvent êtreomit
,same-origin
ouinclude
. Si cette propriété n'est pas définie, ou que type est défini àclassic
, la valeur seraclassic
.name
: UneDOMString
définissant un identifiant pour l'environment du workerDedicatedWorkerGlobalScope
, souvent utilisé pour le débogage.
Exceptions
SecurityError
est levé si le document n'est pas autorisé à démarer des workers; par exemple si l'URL à une syntaxe invalide ou que la politique d'origine n'est pas respectée.NetworkError
est levé si le type MIME du script du worker est incorect. Il doit toujours être défini àtext/javascript
.SyntaxError
est levé si l'URL ne peut pas être analysée.
Exemple
L'extrait de code suivant illustre la création d'un objet Worker
en utilisant le constructeur Worker()
et l'usage qui peut alors en être fait :
var myWorker = new Worker("worker.js");
first.onchange = function() {
myWorker.postMessage([first.value,second.value]);
console.log('Message envoyé au worker');
}
Pour un exemple complet, consultez notre exemple basique d'un worker dédié (lancer le worker dédié).
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
HTML Living Standard La définition de 'Worker()' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser
Note : Un navigateur peut indiquer avoir un support complet de Worker()
même s'il ne supporte pas les fichiers worker écrit comme des modules. À partir du premier août 2019, aucun navigateur n'est connu pour avoir un support en production des fichiers worker écrit comme des modules. Sans ces suppports, les fichiers workers écrit sous forme de module et les modules utilisés dans les workers doivent être transpilés ou convertis en non-module pour être utilisables.
Voir aussi
L'interface Worker
auquel il appartient.