Client

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 Client de l'API ServiceWorker réprésente la portée d'un client service worker. Un client est soit un document dans un contexte de navigation ou un SharedWorker, controllé par un worker actif. Un objet client agit comme une capture instantannée de la représentation de son client service worker associé dans la porté de ce service worker.

Méthodes

Client.postMessage()
Permet  à un service worker d'envoyer un message à un ServiceWorkerClient.

Propriétés

Client.frameType Lecture seule
Indique le type de contexte de navigation du client courant. Cette valeur peut être auxiliarytop-levelnested, or none.
Client.id Lecture seule
Retourne l'identifiant universellement unique de l'objet Client.
Client.url Lecture seule
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 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 Status Commentaire
Service Workers
La définition de 'Client' dans cette spécification.
Version de travail Définition initiale

Compatibilité des navigateurs

Fonction Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support de base 40.0 44.0 (44.0) Pas de support ? Pas de support
Fonction Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Support de base ? 44.0 (44.0) ? Pas de support ? Pas de support ?

Note pour Chrome

La propriété frameType n'est pas supportée sur Chrome 43.0.

Voir également

Étiquettes et contributeurs liés au document

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