Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Client
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis avril 2018.
L'interfaceClient de l'API ServiceWorker représente la portée d'exécution d'unWorker ouSharedWorker. Les clientsWindow sont représentés par le plus spécifiqueWindowClient. Vous pouvez obtenir les objetsClient/WindowClient via les méthodesClients.matchAll() etClients.get().
Dans cet article
Méthodes
Client.postMessage()Permet à un service worker d'envoyer un message au
ServiceWorkerClient.
Propriétés
Client.idLecture seuleRetourne l'identifiant universellement unique de l'objet
Client.Client.typeLecture seuleIndique le type de contexte de navigation du client courant. Cette valeur peut être
auxiliary,top-level,nested, ornone.Client.urlLecture seuleRetourne l'URL du client service worker courant.
Exemples
Ce code est basé sur un fragment pris d'unexemple d'envoi de message (voirl'exemple en ligne.) Ce code envoie une référence de message à laquelle le service worker peut répondre viaClient.postMessage().
Ce message est contenu dans une promesse qui est résolue si la réponse ne contient pas d'erreur et est rejetée avec une erreur.
// client service worker (par exemple un document)function sendMessage(message) { return new Promise(function (resolve, reject) { // Notez que c'est la version du ServiceWorker.postMessage navigator.serviceWorker.controller.postMessage(message); window.serviceWorker.onMessage = function (e) { resolve(e.data); }; });}// Contrôle du service workerself.addEventListener("message", function (e) { // e.source est un object client e.source.postMessage("Hello! Your message was: " + e.data);});Spécifications
| Specification |
|---|
| Service Workers Nightly> # client-interface> |