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` (en-US) 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` (en-US) pour les workers partagés, et `ServiceWorkerGlobalScope` (en-US) pour ServiceWorker (en-US). 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` (en-US) 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 `DedicatedWorkerGlobalScope`, `SharedWorkerGlobalScope` (en-US) ou `ServiceWorkerGlobalScope` (en-US).

`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` (en-US) Lecture seule  
Non-standard

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  
Non-standard

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` (en-US) représentant le code à appeler lorsque l'événement `error` est déclenché.

`WorkerGlobalScope.onoffline`

Est un `EventHandler` (en-US) représentant le code à appeler lorsque l'événement `offline` est déclenché.

`WorkerGlobalScope.ononline`

Est un `EventHandler` (en-US) représentant le code à appeler lorsque l'événement `online` est déclenché.

`WorkerGlobalScope.onlanguagechange`

Un `EventHandler` (en-US) déclenché sur l'objet de portée global / worker lorsque les langues préférées de l'utilisateur changent.

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()` 
Non-standard

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()` (en-US)

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()` (en-US)

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` (en-US). 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:


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

| Specification |
| --- |
| HTML Standard # the-workerglobalscope-common-interface |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Autre interface d'objet globale: `Window`, `DedicatedWorkerGlobalScope`, `SharedWorkerGlobalScope` (en-US), , `ServiceWorkerGlobalScope` (en-US)
* Autres interfaces liées aux travailleurs: `Worker`, `WorkerLocation`, `WorkerGlobalScope`, et `ServiceWorkerGlobalScope` (en-US).
* Utilisation de web workers. (en-US)