WindowClient
Expérimental: 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.
-
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
, ouunloaded
.
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
Specification |
---|
Service Workers # windowclient |
Compatibilité des navigateurs
BCD tables only load in the browser