我制作了一个使用 AJAX 和 HTML5 历史记录的 Web 应用程序(对于较旧的浏览器有回退 history.js)。
我的应用程序只有部分内容通过后台 JavaScript 加载(这部分内容非常重要,大多数时间将使用它)。其他页面可以通过常规链接访问,并在加载这些页面时进行完整页面重新加载。
当我稍微浏览动态部分一下(URL 更改并适合显示的内容),然后通过常规链接离开并点击浏览器的后退按钮时,发生了一些奇怪的事情:只显示最后一个 XHR 中加载的部分(在我的情况下是包含一些数据的 div),而没有布局和 CSS。当我查看源代码(在 Chromium 和 FF+Firebug 中)时,DOM 只包含上述 div。
我期望浏览器缓存 DOM 和其他信息,以便能够重建上一个页面,或者重新加载最后一个 URL(如果不是通过 XHR 加载,则将在布局中呈现该页面)。我尝试将缓存控制标头设置为 XHR 的响应,但未成功。
我准备了一个最简示例:http://moserei.de/html5_history/,感谢您的帮助!