如果javascript修改了页面A中的DOM,则用户导航到页面B,然后点击返回按钮返回页面A.对页面A的DOM的所有修改都将丢失,并且向用户显示最初从服务器检索的版本.
它在stackoverflow,reddit和许多其他流行的网站上以这种方式工作.(尝试在此问题中添加测试评论,然后导航到不同的页面并点击返回按钮返回 - 您的评论将"消失")
这是有道理的,但一些网站(apple.com,basecamphq.com等)在某种程度上迫使浏览器为用户提供最新的页面状态.(转到http://www.apple.com/ca/search/?q=ipod,单击顶部的"下载"链接,然后单击"返回"按钮 - 将保留所有DOM更新)
来自哪里的不一致?
现在哪些浏览器支持后向缓存 (bfcache)?
后退缓存是浏览器的内存缓存,在用户单击后退按钮和前进按钮时使用。它存储用户离开时页面的状态,因此对 DOM 所做的任何更改都应该立即加载。
请注意,这与所有浏览器具有的正常缓存机制不同。bfcache 特别适用于用户单击后退按钮时,可以处理 DOM 中的动态变化。
我能找到的关于这个 bfcache 的唯一信息是几年前的,参考了 Firefox 1.5。现代浏览器支持吗?我在哪里可以找到有关它的信息?