NotRestoredReasonDetails: reason 属性
reason
是 NotRestoredReasonDetails
接口的只读属性,它返回一个字符串,描述阻止页面使用后退/前进缓存 (bfcache) 的原因。
值
一个字符串。
阻止的原因有很多,浏览器可以选择根据其操作方式来实现自己的特定阻止原因。开发者应避免依赖于原因的特定措辞,并准备好处理新原因的添加和删除。
规范中列出的初始值是
"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
标头值。 -
该页面是从另一个仍然引用该页面的页面打开的,例如使用“重复选项卡”功能。
示例
有关示例,请参阅 监控 bfcache 阻止原因。
规范
规范 |
---|
HTML 标准 # dom-not-restored-reason-details-reason |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。