JavaScript/Objekte/FetchEvent
Aus SELFHTML-Wiki
< JavaScript | Objekte
Die Schnittstelle FetchEvent ist eine erweiterte Form der Schnittstelle ExtendableEvent aus dem Serviceworker-API. Sie findet im fetch
Event eines ServiceWorkers Verwendung.
Eigenschaften
- request
- clientId
- preloadResponse
- resultingClientId
- replacesClientId
- handled
Methoden
- respondWidth()
Inhaltsverzeichnis
Eigenschaften
- request
- Das JavaScript/WindowOrWorkerGlobalScope/fetch#Request-Objekt der HTTP Anfrage, die das fetch-Event auf dem Serviceworker ausgelöst hat. Aus Sicht des Serviceworkers finden alle Anfragen dieser Art über das Fetch-API statt, auch wenn der Browser eine neue Seite lädt, ein <img> Element ein Bild holt oder älterer JavaScript-Code einen AJAX-Aufruf über XMLHttpRequest macht.
- clientId
- der Wert der id-Eigenschaft des Serviceworker-Clients, der die Anfrage ausgelöst hat. Sie können das eigentliche Client-Objekt mit Hilfe der
get()
-Methode des Clients-Objekts abrufen. - preloadResponse
- In dieser Eigenschaft finden Sie ein Promise, das bei inaktivem Navigations-Preload mit
undefined
erfüllt wird. Ist preloading aktiv, erhalten Sie mit diesem Promise die Response zum Preload-Request[1]. - replacesClientId
- (Bisher nur in Safari implementiert): wenn eine Seitennavigation stattfindet, steht hier die Client-ID der Seite, die durch die Navigation ersetzt wird.
- resultingClientId
- (Nicht in Safari implementiert): wenn eine Seitennavigation stattfindet, steht hier die Client-ID der Seite, die die vorherige Seite ersetzt.
- handled
Methoden
respondWith()
- Syntax
-
fetchEvent.respondWith(response);
- Parameter
-
- response
- Ein Promise, das mit der Response erfüllt wird, die dem Serviceworker-Client als Antwort auf den Request geliefert werden soll. Wenn Sie die Reponse bereits haben, können Sie sie auch direkt übergeben.
- Rückgabe
- keine
Die respondWith()-Methode ist eine Variante von waitUntil(). Beide Methoden fügen der Liste der Lifetime-Promises ein weiteres Promise hinzu. respondWith()
stellt zusätzlich die Response auf den Request zur Verfügung, der das Fetch-Event ausgelöst hat.
Beachten Sie: Wenn Sie respondWith im fetch-Eventhandler nicht aufrufen, führt der Browser einen regulären Fetch durch.
Referenzen
- ↑ Google Web Updates: Navigation Preload, abgerufen am 20.08.2021