Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. ServiceWorkerGlobalScope

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

ServiceWorkerGlobalScope

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

* Some parts of this feature may have varying levels of support.

Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist nur inService Workers verfügbar.

DieServiceWorkerGlobalScope-Schnittstelle derService Worker API repräsentiert den globalen Ausführungskontext eines Service Workers.

Entwickler sollten berücksichtigen, dass der Zustand eines ServiceWorkers nicht über den Beenden-/Neustartszyklus beibehalten wird. Jedes Ereignishandling sollte davon ausgehen, dass es mit einem nackten, standardmäßigen globalen Zustand aufgerufen wird.

Einmal erfolgreich registriert, kann und wird ein Service Worker terminiert werden, wenn er im Leerlauf ist, um Speicher und Prozessorleistung zu sparen. Ein aktiver Service Worker wird automatisch neu gestartet, um auf Ereignisse wiefetch odermessage zu reagieren.

Zusätzlich sind synchrone Anfragen innerhalb eines Service Workers nicht erlaubt — es können nur asynchrone Anfragen, wie die über diefetch()-Methode initiierten, verwendet werden.

Diese Schnittstelle erbt von derWorkerGlobalScope-Schnittstelle und ihrem ElternteilEventTarget.

EventTarget WorkerGlobalScope ServiceWorkerGlobalScope

Instanz-Eigenschaften

Diese Schnittstelle erbt Eigenschaften von derWorkerGlobalScope-Schnittstelle und ihrem ElternteilEventTarget.

ServiceWorkerGlobalScope.clientsSchreibgeschützt

Enthält dasClients-Objekt, das dem Service Worker zugeordnet ist.

ServiceWorkerGlobalScope.cookieStoreSchreibgeschützt

Gibt eine Referenz auf dasCookieStore-Objekt zurück, das dem Service Worker zugeordnet ist.

ServiceWorkerGlobalScope.registrationSchreibgeschützt

Enthält dasServiceWorkerRegistration-Objekt, das die Registrierung des Service Workers darstellt.

ServiceWorkerGlobalScope.serviceWorkerSchreibgeschützt

Enthält dasServiceWorker-Objekt, das den Service Worker darstellt.

Instanz-Methoden

Diese Schnittstelle erbt Methoden von derWorkerGlobalScope-Schnittstelle und ihrem ElternteilEventTarget.

ServiceWorkerGlobalScope.skipWaiting()

Ermöglicht es der aktuellen Service Worker-Registrierung, vom Wartezustand in den aktiven Zustand überzugehen, während es von Service Worker-Clients verwendet wird.

Ereignisse

Hören Sie auf dieses Ereignis mitaddEventListener() oder durch Zuweisung eines Ereignis-Listeners zuroneventname-Eigenschaft dieser Schnittstelle.

activate

Tritt auf, wenn eineServiceWorkerRegistration einen neuenServiceWorkerRegistration.active Worker erwirbt.

backgroundfetchabortExperimentell

Wird ausgelöst, wenn einHintergrundabruf-Vorgang vom Benutzer oder der App abgebrochen wurde.

backgroundfetchclickExperimentell

Wird ausgelöst, wenn ein Benutzer auf die Benutzeroberfläche für einenHintergrundabruf-Vorgang geklickt hat.

backgroundfetchfailExperimentell

Wird ausgelöst, wenn mindestens eine der Anfragen in einemHintergrundabruf-Vorgang fehlgeschlagen ist.

backgroundfetchsuccessExperimentell

Wird ausgelöst, wenn alle Anfragen in einemHintergrundabruf-Vorgang erfolgreich waren.

canmakepaymentExperimentell

Wird auf dem Service Worker einer Payment-App ausgelöst, um zu prüfen, ob sie bereit ist, eine Zahlung abzuwickeln. Konkreter wird es ausgelöst, wenn die Händler-Website denPaymentRequest()-Konstruktor aufruft.

contentdeleteExperimentell

Tritt auf, wenn ein Element aus demContentIndex entfernt wird.

cookiechange

Wird ausgelöst, wenn eine Cookie-Änderung erfolgt, die mit der Cookie-Änderungs-Abonnementliste des Service Workers übereinstimmt.

fetch

Tritt auf, wenn einfetch() aufgerufen wird.

install

Tritt auf, wenn eineServiceWorkerRegistration einen neuenServiceWorkerRegistration.installing Worker erwirbt.

message

Tritt auf, wenn eingehende Nachrichten empfangen werden. Kontrollierte Seiten können dieMessagePort.postMessage()-Methode verwenden, um Nachrichten an Service Worker zu senden.

messageerror

Tritt auf, wenn eingehende Nachrichten nicht deserialisiert werden können.

notificationclick

Tritt auf, wenn ein Benutzer auf eine angezeigte Benachrichtigung klickt.

notificationclose

Tritt auf, wenn ein Benutzer eine angezeigte Benachrichtigung schließt.

paymentrequestExperimentell

Wird auf einer Payment-App ausgelöst, wenn ein Zahlungsablauf auf der Händler-Website über diePaymentRequest.show()-Methode initiiert wurde.

sync

Wird ausgelöst, wenn ein Aufruf anSyncManager.register von einer Service Worker-Clientseite ausgelöst wird. Der Versuch, zu synchronisieren, wird entweder sofort unternommen, wenn das Netzwerk verfügbar ist, oder sobald das Netzwerk verfügbar wird.

periodicsyncExperimentell

Tritt in regelmäßigen Abständen auf, die bei der Registrierung einesPeriodicSyncManager angegeben wurden.

push

Tritt auf, wenn eine Push-Benachrichtigung vom Server empfangen wird.

pushsubscriptionchange

Tritt auf, wenn ein Push-Abonnement ungültig geworden ist oder kurz davor ist, ungültig zu werden (z. B. wenn ein Push-Dienst eine Ablaufzeit festlegt).

Beispiele

Dieses Codebeispiel stammt aus demService Worker Prefetch-Beispiel (siehePrefetch-Beispiel live). Deronfetch-Ereignishandler horcht auf dasfetch-Ereignis. Wenn es ausgelöst wird, gibt der Code ein Versprechen zurück, das in die erste übereinstimmende Anfrage imCache-Objekt aufgelöst wird. Wenn keine Übereinstimmung gefunden wird, holt der Code eine Antwort aus dem Netzwerk.

Der Code behandelt auch Ausnahmen, die von derfetch()-Operation ausgelöst werden. Beachten Sie, dass eine HTTP-Fehlerantwort (z. B. 404) keine Ausnahme auslöst. Es wird ein normales Antwortobjekt zurückgegeben, das den entsprechenden Fehlercode gesetzt hat.

js
self.addEventListener("fetch", (event) => {  console.log("Handling fetch event for", event.request.url);  event.respondWith(    caches.match(event.request).then((response) => {      if (response) {        console.log("Found response in cache:", response);        return response;      }      console.log("No response found in cache. About to fetch from network…");      return fetch(event.request).then(        (response) => {          console.log("Response from network is:", response);          return response;        },        (error) => {          console.error("Fetching failed:", error);          throw error;        },      );    }),  );});

Spezifikationen

Specification
Service Workers Nightly
# serviceworkerglobalscope-interface

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp