请求:keepalive 属性

Baseline 2024
新推出

自 ⁨2024 年 11 月⁩ 以来,此功能在最新的设备和浏览器版本中均可正常工作。此功能在旧设备或浏览器中可能无法正常工作。

keepaliveRequest 接口的一个只读属性,包含请求的 keepalive 设置(truefalse),指示在发起请求的页面卸载之前,浏览器是否会保持关联请求的活动状态,直到请求完成。

这使得 fetch() 请求能够在页面卸载后(例如,用户离开或关闭页面)发送分析数据。与使用 Navigator.sendBeacon() 执行相同目的相比,它具有一些优势,包括允许您使用除 POST 之外的其他 HTTP 方法,自定义请求属性,并通过 fetch 的 Promise fulfilled 来访问服务器响应。它也可在 Service Workers 中使用。

一个布尔值,指示请求的 keepalive 状态。

示例

使用 keepalive 创建请求

在下面的代码片段中,我们使用 keepalive 设置为 trueRequest() 构造函数创建了一个新请求,然后将请求的 keepalive 值保存在一个变量中。

js
const options = {
  keepalive: true,
};

const myRequest = new Request("flowers.jpg", options);
let myKeepAlive = myRequest.keepalive; // true

规范

规范
Fetch
# ref-for-dom-request-keepalive②

浏览器兼容性

另见