Limited availability
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The DeferredRequestInit
dictionary of the fetchLater()
API represents the set of options that can be used to configure a deferred fetch request.
The DeferredRequestInit
object is passed directly into the window.fetchLater()
function call as the second argument.
This dictionary extends the RequestInit
dictionary with the addition of the following properties:
activateAfter
Optional
A DOMHighResTimeStamp
indicating a timeout in milliseconds after which the fetch request should be sent. The fetch can be sent earlier on navigating away. The actual sending time is unknown, as the browser may wait for a longer or shorter time, for example, to optimize the batching of deferred fetches. If the activateAfter
property is not provided, the deferred fetch waits until the end of the page visit (including entering the bfcache).
RangeError
DOMException
Raised when a negative activateAfter
is provided.
GET
request until the page is destroyed or enters the bfcache
In this example, no DeferredRequestInit
object is provided and no timeout is used:
fetchLater("/send_beacon");
Defer a POST
request for around 1 minute
In this example we create a Request
, and provide an activateAfter
value to delay sending the request for 60,000 milliseconds (or one minute):
fetchLater("/send_beacon", {
method: "POST",
body: getBeaconData(),
activateAfter: 60000, // 1 minute
});
Note: The actual sending time is unknown, as the browser may wait for a longer or shorter period of time, for example to optimize batching of deferred fetches.
Specifications Browser compatibility See alsoRetroSearch 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