跳转到内容

在线检查网站 BFCache

检查后退时页面是否恢复,找出导致整页重新加载的浏览器限制。

阻止原因

为什么后退需要重新加载

BFCache 很少只有一个通用阻止因素。报告将服务器响应头、浏览器限制和前端代码分开,这样修复就不会变成猜测。

脚本生命周期

unload 和 beforeunload

离开页面时的事件处理程序可能阻止恢复。修改代码前,请检查浏览器给出的原因以及统计和表单的行为。

响应头

Cache-Control: no-store

no-store 的影响取决于浏览器和测试条件。请以记录的拒绝原因为准,不要为启用 BFCache 而取消私人数据保护。

运行时状态

JavaScript 状态和连接

WebSocket、IndexedDB 事务、定时器和 SPA 状态可能阻止恢复。Milten 会检查用户离开页面并通过 pageshow 返回时发生的情况。

常见问题

关于往返缓存的常见问题

关于什么是 BFCache、为什么它会关闭以及如何安全修复阻止因素的简短解答。

什么是往返缓存?
BFCache 会在浏览器内存中保留完整的页面快照。当用户点击后退或前进时,页面可以立即出现,无需再次加载 HTML、资源或重新渲染。
为什么页面会错过 BFCache?
请查看测试浏览器记录的原因:页面生命周期处理器、打开的资源和响应设置都可能影响恢复资格。规则因浏览器和状态而异。在当前版本的 Chrome 中,no-store 和 beforeunload 本身都不是无条件的阻碍。
BFCache 与 Core Web Vitals 有何关联?
BFCache 恢复通常感觉是即时的,因为浏览器显示的是就绪的页面状态。它减少了重复加载,并改善了前进后退导航的体验。
我们可以在不丢失分析的情况下移除 unload 吗?
移除 unload 前,请先确认哪些事件依赖它。可根据用途考虑可见性变化、pagehide 或 sendBeacon,但仍需验证数据是否送达。请同时检查正常加载和 BFCache 恢复,避免将同一次访问重复计数。
我们需要检查每个页面吗?
从关键模板开始:首页、目录、产品页、文章、账户区域或结账页。如果阻止因素存在于共享布局中,它会出现在多种页面类型中。
Cookies

我们使用 Cookie

我们使用 Cookie 以在你的网站上为你提供更好的体验。你可以在我们的 隐私政策.