栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Ajax,后退按钮和DOM更新

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ajax,后退按钮和DOM更新

一个答案:除其他事项外, 卸载事件会使后退/前进缓存无效

一些浏览器将整个网页的当前状态存储在所谓的“
bfcache”或“页面缓存”中。这样,他们可以在通过后退和前进按钮进行导航时非常快速地重新呈现页面,并保留DOM和所有Javascript变量的状态。但是,当页面包含onunload事件时,这些事件可能会将页面置于非功能状态,因此该页面未存储在bfcache中,必须重新加载(但可以从标准缓存中加载)并重新从头开始渲染,包括运行所有onload处理程序。通过bfcache返回页面时,DOM保持其先前状态,而无需触发onload处理程序(因为该页面已被加载)。

请注意,关于Cache-
Control和其他HTTP标头,bfcache的行为与标准浏览器缓存不同。在许多情况下,浏览器会将页面缓存在bfcache中,即使它不将其存储在标准缓存中也是如此。

jQuery会自动将卸载事件附加到窗口,因此不幸的是,使用jQuery会使您的页面无法保存在bfcache中以进行DOM保留和快速前进/后退
。[更新:此问题已在jQuery 1.4中修复,因此仅适用于IE]

  • 有关Firefox bfcache的信息
  • 有关Safari页面缓存的信息以及未来卸载事件的工作方式可能发生的变化
  • Opera使用快速历史记录导航
  • Chrome没有页面缓存([1],[2])
  • 用于处理DOM操作和bfcache的页面:
    • 该页面将存储在常规缓存中
    • 该页面不会,但仍会bfcached


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号