Request.destination

The destination read-only property of the Request interface returns a string describing the type of content being requested. The string must be one of those found in the RequestDestination enumerated type or the empty string, which is the default value.

The destination is used by the user agent to, for example, help determine which set of rules to follow for CORS purposes, or how to navigate any complicated code paths that affect how specific types of request get handled.

These destinations vary substantially in how they operate. Some are data receptacles, where the received data is stored for processing later. Others are script-based, in which case the received data is delivered to a script by calling it and passing the data along. Script-based destinations include <script> elements, as well as any of the Worklet-based destinations (including AudioWorklet and PaintWorklet), and the Worker-based destinations, including ServiceWorker and SharedWorker.

Syntax

var destination = request.destination;

Value

A string which indicates the type of content the request is asking for. This type is much broader than the usual document type values (such as "document" or "manifest"), and may include contextual cues such as "image" or "worker" or "audioworklet".

Possible values are:

""
The default value of destination is used for destinations that do not have their own value. navigator.sendBeacon(), EventSource, <a ping>, <area ping>, fetch(), XMLHttpRequest, WebSocket, Cache and more.
"audio"
The target is audio data.
"audioworklet"
The target is data being fetched for use by an audio worklet.
"document"
The target is a document (HTML or XML).
"embed"
The target is embedded content.
"font"
The target is a font.
"image"
The target is an image.
"manifest"
The target is a manifest.
"object"
The target is an object.
"paintworklet"
The target is a paint worklet.
"report"
The target is a report.
"script"
The target is a script.
"serviceworker"
The target is a service worker.
"sharedworker"
The target is a shared worker.
"style"
The target is a style
"track"
The target is an HTML <track>.
"video"
The target is video data.
"worker"
The target is a worker.
"xslt"
The target is an XLST transform.

Example

In the following snippet, we create a new request using the Request() constructor (for an image file in the same directory as the script), then save the request's destination:

var myRequest = new Request('flowers.jpg');
var myDestination = myRequest.destination; // returns the empty string by default

Specifications

Specification
Fetch Standard (Fetch)
# ref-for-dom-request-destinationā‘ 

Browser compatibility

BCD tables only load in the browser

See also