请求:destination 属性

Baseline 广泛可用 *

此功能已成熟,可在多种设备和浏览器版本上运行。自 ⁨2018 年 6 月⁩ 起在所有浏览器中可用。

* 此特性的某些部分可能存在不同级别的支持。

注意:此功能在 Web Workers 中可用。

Request 接口的只读属性 destination 返回一个字符串,用于描述所请求内容的类型。

该字符串必须是 audioaudioworkletdocumentembedfencedframefontframeiframeimagejsonmanifestobjectpaintworkletreportscriptsharedworkerspeculationrulesstyletrackvideoworkerxslt 字符串之一,或者为空字符串(这是默认值)。

destination 属性用于 用户代理,例如,帮助确定遵循哪个规则集以用于 CORS 目的,或者如何导航会影响特定类型请求处理方式的复杂代码路径。

这些 destination 的操作方式有很大差异。有些是数据接收器,接收到的数据将被存储以供以后处理。其他一些是基于脚本的,在这种情况下,通过调用脚本并传递数据来将接收到的数据传递给脚本。基于脚本的 destination 包括 <script> 元素,以及任何 Worklet 类 destination(包括子类,如 AudioWorklet),以及 Worker 类 destination,包括 ServiceWorkerSharedWorker

一个字符串,指示请求所请求内容的类型。此类型比常规文档类型值(如 "document""manifest")更广泛,并且可能包括上下文线索,如 "image""worker""audioworklet"

可能的值是

""

空字符串是默认值,用于没有自己值的 destination。当使用以下 API(以及其他 API)发出请求时,就是此值:

"audio"

目标是音频数据。

"audioworklet"

目标是为音频 worklet 提取的数据。

"document"

目标是文档(HTML 或 XML)。

"embed"

目标是嵌入式内容。

"fencedframe"

目标是 fenced frame

"font"

目标是字体。

"image"

目标是图像。

"json"

目标是 JSON 文件。

"manifest"

目标是 manifest。

"object"

目标是 object。

"paintworklet"

目标是 paint worklet。

"report"

目标是 report。

"script"

目标是 script。

"serviceworker"

目标是 service worker。

"sharedworker"

目标是 shared worker。

"speculationrules" Experimental

目标是 speculation rules JSON 文档。

"style"

目标是样式

"track"

目标是 HTML <track>

"video"

目标是视频数据。

"worker"

目标是 worker。

"xslt"

目标是 XSLT 转换。

示例

在下面的代码片段中,我们使用 Request() 构造函数创建一个新的请求(针对脚本所在目录中的一个图像文件),然后保存请求的 destination。

js
const myRequest = new Request("flowers.jpg");
const myDestination = myRequest.destination; // returns the empty string by default

规范

规范
Fetch
# ref-for-dom-request-destination①

浏览器兼容性

另见