--- 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()")}}.

Méthodes

{{domxref("Client.postMessage()")}}
Permet à un service worker d'envoyer un message au ServiceWorkerClient.

Propriétés

{{domxref("Client.id")}} {{readonlyInline}}
Retourne l'identifiant universellement unique de l'objet Client.
{{domxref("Client.type")}} {{readonlyInline}}
Indique le type de contexte de navigation du client courant. Cette valeur peut être auxiliarytop-levelnested, or none.
{{domxref("Client.url")}} {{readonlyInline}}
Retourne l'URL du client service worker courant.

Exemples

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écifications

Spécification État Commentaire
{{SpecName('Service Workers', '#client', 'Client')}} {{Spec2('Service Workers')}} Définition initiale

Compatibilité des navigateurs

{{Compat("api.Client")}}

Voir également