WorkerGlobalScope

L'interface WorkerGlobalScope de l'API Web Workers est une interface représentant la portée de tout worker. Les Workers n'ont pas de contexte de navigation; cette portée contient les informations généralement véhiculées par les objets Window — dans ce cas les gestionnaires d'événements, la console ou l'objet WorkerNavigator associé. Chaque WorkerGlobalScope a sa propre boucle d'événements.

Cette interface est généralement spécialisée par chaque type de worker : DedicatedWorkerGlobalScope pour les workers dédiés, SharedWorkerGlobalScope pour les workers partagés, et ServiceWorkerGlobalScope pour ServiceWorker. La propriété self renvoie la portée spécialisée pour chaque contexte.

Propriétés

Cette interface hérite des propriétés de l'interface EventTarget et implémente les propriétés de WindowTimers, WindowBase64, et WindowEventHandlers.

Propriétés standard

WorkerGlobalScope.navigator Lecture seule
Renvoie le WorkerNavigator associé au worker. C'est un objet navigator spécifique, principalement un sous-ensemble de Navigator pour la navigation dans les portées, mais adapté aux workers.
WorkerGlobalScope.self Lecture seule
Renvoie une référence au WorkerGlobalScope lui-même. La plupart du temps, il s'agit d'une portée spécifique comme DedicatedWorkerGlobalScopeSharedWorkerGlobalScope ou ServiceWorkerGlobalScope.
WorkerGlobalScope.location Lecture seule
Renvoie le WorkerLocation associé au worker. Il s'agit d'un objet de localisation spécifique, principalement un sous-ensemble de Location pour les portées de navigation, mais adapté aux workers.

Propriétés non standard

WorkerGlobalScope.performance Lecture seule
Renvoie la Performance associée au worker. Il s'agit d'un objet de performance standard, sauf que seul un sous-ensemble de sa propriété et de ses méthodes est disponible pour les nœuds de calcul.
WorkerGlobalScope.console Lecture seule
Renvoie la Console associée au worker.

Gestionnaires d'événements

Cette interface hérite des gestionnaires d'événements de l'interface EventTarget et implémente les gestionnaires d'événements de WindowTimers et WindowBase64.

WorkerGlobalScope.onerror
Est un EventHandler représentant le code à appeler lorsque l'événement error est déclenché.
WorkerGlobalScope.onoffline
Est un EventHandler représentant le code à appeler lorsque l'événement offline est déclenché.
WorkerGlobalScope.ononline
Est un EventHandler représentant le code à appeler lorsque l'événement online est déclenché.
WorkerGlobalScope.onlanguagechange
Un EventHandler déclenché sur l'objet de portée global / worker lorsque les langues préférées de l'utilisateur changent.
WorkerGlobalScope.onclose
Est un EventHandler représentant le code à appeler lorsque l'événement close est déclenché.

Méthodes

Cette interface hérite des méthodes de l'interface EventTarget et implémente les méthodes de WindowTimers, WindowBase64, WindowEventHandlers et GlobalFetch.

Méthodes standard

WorkerGlobalScope.close()
Ignore toutes les tâches mises en file d'attente dans la boucle d'événements de WorkerGlobalScope, fermant ainsi cette portée particulière.
WorkerGlobalScope.importScripts()
Importe un ou plusieurs scripts dans la portée du worker. Vous pouvez en spécifier autant que vous le souhaitez, séparés par des virgules. Par exemple: importScripts('foo.js', 'bar.js');

Méthodes non standard

WorkerGlobalScope.dump()
Vous permet d'écrire un message stdout — c'est-à-dire dans votre terminal. C'est la même chose que window.dump de Firefox, mais pour les workers.

Méthodes mises en œuvre d'ailleurs

WindowBase64.atob()
Décode une chaîne de données qui a été encodée à l'aide d'un encodage base 64.
WindowBase64.btoa()
Crée une chaîne ASCII encodée en base 64 à partir d'une chaîne de données binaires.
WindowTimers.clearInterval()
Annule l'exécution répétée définie à l'aide de WindowTimers.setInterval ().
WindowTimers.clearTimeout()
Annule l'exécution répétée définie à l'aide de WindowTimers.setTimeout ().
GlobalFetch.fetch()
Démarre le processus de récupération d'une ressource.
WindowTimers.setInterval()
Planifie l'exécution d'une fonction toutes les X millisecondes.
WindowTimers.setTimeout()
Définit un délai pour l'exécution d'une fonction.

Exemple

Vous n'accéderez pas à WorkerGlobalScope directement dans votre code; cependant, ses propriétés et méthodes sont héritées par des portées globales plus spécifiques telles que DedicatedWorkerGlobalScope et SharedWorkerGlobalScope. Par exemple, vous pouvez importer un autre script dans le worker et imprimer le contenu de l'objet navigator de l'étendue du worker en utilisant les deux lignes suivantes:

importScripts('foo.js');
console.log(navigator);

Note: Étant donné que la portée globale du script de worker est effectivement la portée globale du worker que vous exécutez (DedicatedWorkerGlobalScope ou autre) et que toutes les portées globales de worker héritent des méthodes, des propriétés, etc. À partir de WorkerGlobalScope, vous pouvez exécuter des lignes telles que celles ci-dessus sans spécifier d'objet parent.

Spécifications

Spécification Statut Commentaire
HTML Living Standard
La définition de 'WorkerGlobalScope' dans cette spécification.
Standard évolutif Aucun changement par rapport à Unknown.
Unknown
La définition de 'WorkerGlobalScope' dans cette spécification.
Statut inconnu Définition initiale.

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !
Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support de base 4 3.5 (1.9.1) 10 10.6 4
ononline, onoffline (Oui) 29 (29) ? ? ?
console (Oui) 29 (29) as  WorkerConsole
30 (30) as the regular Console
? ? ?
performance (Oui) 34 (34) ? ? ?
Fonctionnalité Android Chrome for Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base ? (Oui) 1.0 (1.9.1) 1.0.1 10 11.5 5.1
ononline, onoffline ? (Oui) 29.0 (29) as a specific WorkerConsole
30.0 (30) as the regular Console
1.4 ? ? ?
console ? (Oui) 29.0 (29) 1.4 ? ? ?
performance ? (Oui) 34.0 (34) 2.1 ? ? ?

Voir également