Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Les API Web
  3. ServiceWorkerContainer

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

ServiceWorkerContainer

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.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

Expérimental:Il s'agit d'unetechnologie expérimentale.
Vérifiez attentivement letableau de compatibilité des navigateurs avant de l'utiliser en production.

L'interfaceServiceWorkerContainer de l'API ServiceWorker fournit un objet représentant le service worker comme une unité globale de l'écosystème réseau, incluant des fonctionnalités pour enregistrer, désenregistrer et mettre à jour des services workers, et accéder à l'état des services workers et de leurs enregistrements.

Parmi le plus important, cette interface expose la méthodeServiceWorkerContainer.register(scriptURL, scope[, base]) utilisée pour enregistrer les services workers, et la propriétéServiceWorkerContainer.controller utilisée pour déterminer si oui ou non la page courante est activement conrôlée.

Propriétés

ServiceWorkerContainer.controllerLecture seule

Retourne un objetServiceWorker si son état estactivated (le même objet retourné parServiceWorkerRegistration.active). Cette propriété retournenull si la requête est un rechargement forcé (Majuscule + rechargement) ou si il n'y a pas de worker actif.

ServiceWorkerContainer.readyLecture seule

Détermine si oui ou non un service worker est prêt à contrôler la page. Cette propriété retourne unePromise qui ne sera jamais rejetée, et se résoudra en unServiceWorkerRegistration avec un worker en étatServiceWorkerRegistration.active.

Gestionnaires d'événement

ServiceWorkerContainer.oncontrollerchange

Un gestionnaire d'événement lancé quand un événementcontrollerchange se produit — quand leServiceWorkerRegistration associé au document ajoute un nouveau worker en étatServiceWorkerRegistration.active.

ServiceWorkerContainer.onerror

Un gestionnaire d'événement lancé quand un événementerror se produit dans le service worker associé.

ServiceWorkerContainer.onmessage

Un gestionnaire d'événement lancé quand un événementmessage se produit — quand des messages entrants sont reçus par l'objetServiceWorkerContainer (e.g. par un appel àMessagePort.postMessage().)

Méthodes

ServiceWorkerContainer.register()

Crée ou met à jour unServiceWorkerRegistration pour unscriptURL donné.

ServiceWorkerContainer.getRegistration()

Récupère un objetServiceWorkerRegistration dont l'URL de la portée correspond à l'URL du document fourni. Si la méthode ne peut retourner unServiceWorkerRegistration, elle retourne unePromise.

ServiceWorkerContainer.getRegistrations()

Retourne tous lesServiceWorkerRegistration associés à unServiceWorkerContainer dans un tableau. Si la méthode ne peut retourner lesServiceWorkerRegistration, elle retourne unePromise.

Exemples

Cet extrait de code provient deexemple service worker fallback-response (voirfallback-response live). Le code test si le navigateur supporte les services workers. Alors le code enregistre le service worker et détermine si la page est activement contrôlée par le service worker. Si elle ne l'est pas, il invite l'utilisateur à recharger la page pour permettre au service worker de prendre le contrôle. Ce code indique aussi les échecs d'enregistrement.

js
if ("serviceWorker" in navigator) {  navigator.serviceWorker    .register("service-worker.js", { scope: "./" })    .then(function () {      if (navigator.serviceWorker.controller) {        document.querySelector("#status").textContent =          "The service worker is currently handling network operations.";        showRequestButtons();      } else {        document.querySelector("#status").textContent =          "Please reload this page to allow the service worker to handle network operations.";      }    })    .catch(function (error) {      document.querySelector("#status").textContent = error;    });} else {  var aElement = document.createElement("a");  aElement.href =    "http://www.chromium.org/blink/serviceworker/service-worker-faq";  aElement.textContent = "unavailable";  document.querySelector("#status").appendChild(aElement);}

Spécifications

Specification
Service Workers Nightly
# serviceworkercontainer-interface

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp