--- title: Client slug: Web/API/Client tags: - API - Client - Experimental - Interface - Reference - Service Workers - Service worker API - ServiceWorkerClient - ServiceWorkers translation_of: Web/API/Client ---
{{APIRef("Service Workers API")}}
L'interface Client de l'API ServiceWorker représente la portée d'exécution d'un {{domxref("Worker")}} ou {{domxref("SharedWorker")}}. Les clients {{domxref("Window")}} sont représentés par le plus spécifique {{domxref("WindowClient")}}. Vous pouvez obtenir les objets Client/WindowClient via les méthodes {{domxref("Clients.matchAll","Clients.matchAll()")}} et {{domxref("Clients.get","Clients.get()")}}.
ServiceWorkerClient.Client.auxiliary, top-level, nested, or none.Ce code est basé sur un fragment pris d'un exemple d'envoi de message (voir l'exemple en ligne.) Ce code envoie une référence de message à laquelle le service worker peut répondre via {{domxref("Client.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 worker
self.addEventListener("message", function(e) {
// e.source est un object client
e.source.postMessage("Hello! Your message was: " + e.data);
});
| Spécification | État | Commentaire |
|---|---|---|
| {{SpecName('Service Workers', '#client', 'Client')}} | {{Spec2('Service Workers')}} | Définition initiale |