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: Une DOMString définissant le type de worker à créer. The valeur peuvent être classic ou module. Si cette prpriété n'est pas définie, la valeur sera classic.
  • credentials: Une DOMString définissant le type de politique d'origine à utiliser pour le worker. Les valeurs peuvent être omit, same-origin ou *include. *Si cette propriété n'est pas définie, ou que type est défini à classic, la valeur sera classic.
  • name: Une DOMString définissant un identifiant pour l'environment du worker DedicatedWorkerGlobalScope, 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.