Baseline Widely available *
Hinweis: Diese Funktion ist nur in Service Workers verfügbar.
Dies ist der Ereignistyp für fetch
-Ereignisse, die im Service Worker Global Scope ausgelöst werden. Es enthält Informationen über den Abruf, einschlieÃlich der Anfrage und wie der Empfänger die Antwort behandeln wird. Es stellt die Methode event.respondWith()
bereit, die es uns ermöglicht, eine Antwort auf diesen Abruf bereitzustellen.
FetchEvent()
Erstellt ein neues FetchEvent
-Objekt. Dieser Konstruktor wird typischerweise nicht verwendet. Der Browser erstellt diese Objekte und stellt sie fetch
-Ereignisrückrufen zur Verfügung.
Erbt Eigenschaften von seinem Vorfahren, Event
.
FetchEvent.clientId
Schreibgeschützt
Die id
des gleichnamigen client
, der den Abruf initiiert hat.
FetchEvent.handled
Schreibgeschützt
Ein Versprechen, das anhängig ist, während das Ereignis nicht behandelt wurde, und erfüllt wird, sobald es behandelt wurde.
FetchEvent.isReload
Schreibgeschützt Veraltet Nicht standardisiert
Gibt true
zurück, wenn das Ereignis vom Benutzer ausgelöst wurde, der versucht hat, die Seite neu zu laden, andernfalls false
.
FetchEvent.preloadResponse
Schreibgeschützt
Ein Promise
für eine Response
, oder undefined
, wenn dieser Abruf keine Navigation ist oder Navigation Preload nicht aktiviert ist.
FetchEvent.replacesClientId
Schreibgeschützt
Die id
des client
, der während einer Seitennavigation ersetzt wird.
FetchEvent.resultingClientId
Schreibgeschützt
Die id
des client
, der den vorherigen Client während einer Seitennavigation ersetzt.
FetchEvent.request
Schreibgeschützt
Die Request
, die der Browser ausführen möchte.
Erbt Methoden von seinem Elternteil, ExtendableEvent
.
FetchEvent.respondWith()
Verhindert die Standard-Abrufverarbeitung des Browsers und stellt (ein Versprechen für) eine eigene Antwort bereit.
ExtendableEvent.waitUntil()
Verlängert die Lebensdauer des Ereignisses. Wird verwendet, um den Browser über Aufgaben zu informieren, die über die Rückgabe einer Antwort hinausgehen, wie Streaming und Caching.
Dieses fetch
-Ereignis verwendet den Standard des Browsers für Nicht-GET-Anfragen. Bei GET-Anfragen versucht es, einen Cache-Treffer zurückzugeben und weicht auf das Netzwerk aus. Wenn es einen Treffer im Cache findet, aktualisiert es den Cache asynchron für das nächste Mal.
self.addEventListener("fetch", (event) => {
// Let the browser do its default thing
// for non-GET requests.
if (event.request.method !== "GET") return;
// Prevent the default, and handle the request ourselves.
event.respondWith(
(async () => {
// Try to get the response from a cache.
const cache = await caches.open("dynamic-v1");
const cachedResponse = await cache.match(event.request);
if (cachedResponse) {
// If we found a match in the cache, return it, but also
// update the entry in the cache in the background.
event.waitUntil(cache.add(event.request));
return cachedResponse;
}
// If we didn't find a match in the cache, use the network.
return fetch(event.request);
})(),
);
});
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4