NotRestoredReasonDetails: reason 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

NotRestoredReasonDetails 接口的只读属性 **reason** 返回一个字符串,描述了页面被阻止使用后退/前进缓存(bfcache)的原因。

字符串。

阻止可能发生的原因有很多,浏览器可以根据其运行方式选择实现自己特定的阻止原因。开发者应避免依赖特定措辞的原因,并准备好处理新增或删除的原因。

规范中列出的初始值如下:

"fetch"

在卸载过程中,由当前文档发起的 fetch 请求(例如,通过 fetch())在进行中被取消。因此,页面处于不稳定状态,无法存储在 bfcache 中。

"lock"

在卸载过程中,持有的锁和锁请求被终止,因此页面处于不稳定状态,无法存储在 bfcache 中。

"masked"

出于隐私目的,确切原因被隐藏。此值可能表示以下情况之一:

  • 当前文档包含的子级位于一个跨源 <iframe> 中,并且它们阻止了 bfcache 的存储。
  • 由于用户代理特有的原因,当前文档无法存储在 bfcache 中。

创建当前文档的原始导航发生错误,并且阻止了生成的错误文档存储在 bfcache 中。

"parser-aborted"

当前文档从未完成其初始 HTML 解析,并且阻止了未完成的文档存储在 bfcache 中。

"websocket"

在卸载过程中,已打开的 WebSocket 连接被关闭,因此页面处于不稳定状态,无法存储在 bfcache 中。

某些浏览器可能还会使用其他阻止原因,例如:

"unload-listener"

页面注册了 unload 事件监听器,这会阻止 bfcache 的使用。这是一个有用的警告,因为 unload 事件已被弃用。有关更多信息,请参阅 用法说明

"response-cache-control-no-store"

页面将 no-store 用作 Cache-Control 标头值。

该页面是由另一个仍对此页面有引用的页面打开的,例如使用了“复制标签页”功能。

示例

有关示例,请参阅 Monitoring bfcache blocking reasons

规范

规范
HTML
# dom-not-restored-reason-details-reason

浏览器兼容性

另见