<分区>
我构建了一个使用 AJAX 和 HTML5 历史记录的 Web 应用程序(具有针对旧浏览器的回退,history.js)。
我的应用程序只有一部分是通过后台 javascript 加载的(这部分很重,大部分时间都会用到)。其他页面可通过常规链接访问,加载这些页面时将重新加载整个页面。
当我稍微导航动态部分(URL 更改并适合显示的内容),通过常规链接离开它然后点击浏览器后退按钮时,发生了一些奇怪的事情:只有在最后一个 XHR 中加载的部分(在我的例子中,一个包含一些数据的 div)显示时没有布局和 CSS。当我查看源代码(在 Chromium 和 FF+Firebug 中)时,DOM 仅包含上述 div。
我希望浏览器缓存 DOM 和其他信息,这样它就能够重建之前的页面,或者它会重新加载最后一个 URL(该页面将按预期显示,因为如果它没有通过加载一个 XHR,它将在布局中呈现)。我尝试在对 XHR 的响应上设置缓存控制 header ,但没有帮助。
我整理了一个最小示例:http://moserei.de/html5_history/
感谢您的帮助!