WindowClient

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

L'interface WindowClient de l'API ServiceWorker représente la portée d'un client service worker lorsque celui-ci existe en tant que document dans un contexte navigateur, controlé par un worker actif. Le client sélectionne et utilise un service worker pour son propre chargement et celui de ses sous-ressources.

Méthodes

WindowClient hérite certaines méthodes de son parent, Client.

WindowClient.focus()
Assigne le focus au client en cours.
WindowClient.navigate()
Charge l'url spécifiée dans la page en cours.

Propriétés

WindowClient hérite certaines propriétés de son parent, Client.

WindowClient.focused Lecture seule
Un booléen qui indique si oui ou non le client en cours est focus.
WindowClient.visibilityState Lecture seule
Indique la visibilité du client en cours. Peut prendre les valeures hidden, visible, prerender, ou unloaded.

Exemple

self.addEventListener('notificationclick', function(event) {
  console.log('On notification click: ', event.notification.tag);
  event.notification.close();

  // Vérifie si le client en cours est ouvert et
  // le focus le cas échéant
  event.waitUntil(clients.matchAll({
    type: "window"
  }).then(function(clientList) {
    for (var i = 0; i < clientList.length; i++) {
      var client = clientList[i];
      if (client.url == '/' && 'focus' in client)
        return client.focus();
    }
    if (clients.openWindow)
      return clients.openWindow('/');
  }));
});

Spécifications

Spécification État Commentaires
Service Workers
La définition de 'WindowClient' dans cette spécification.
Version de travail Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 42.0 44.0 (44.0)[1] Pas de support ? Pas de support
navigate() 49.0        
Fonctionnalité Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Support simple Pas de support Pas de support 44.0 (44.0) (Oui) Pas de support ? Pas de support 42.0
navigate() Pas de support Pas de support           49.0

[1] Les Service workers (et Push) sont désactivés dans Firefox 45 Extended Support Release (ESR.)

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : NuclearPony
 Dernière mise à jour par : NuclearPony,