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 |
浏览器兼容性
加载中…