bfcache
往返缓存 bfcache
bfcache 是内存缓存,可在用户离开网页时存储网页(包括 JavaScript 堆)的完整快照。将整个页面保存在内存中后,当用户决定返回时,浏览器就可以快速轻松地恢复该页面。
- 暂停执行 JavaScript 任务队列中的所有待处理任务,从 bfcache 中恢复时继续执行
- 监听 bfcache
- 使用 pageshow 和 pagehide 事件
- 阻止浏览器进行 bfcache 优化
- 使用 unload 事件
- 使用
Cache-Control: no-store, 可以使用Cache-Control: no-cache或Cache-Control: max-age=0替代 - 使用 window.opener 或 window.postMessage() 进行跨页面引用
- 推荐用法
- 在 pagehide 时,关闭 fetch/xhr 请求,indexedDB 连接,WebSocket/WebRTC 连接,在 pageshow 时重新连接
- 确实部署前在 devtools 中测试