我在 Chrome 19 中遇到了一个奇怪的错误。我实现了一个支持 pushState 的完整 AJAX 网站(每个非外部链接都通过 AJAX 请求打开)。我通过 JSON 格式以 AJAX 传输 HTML 片段。
当我通过外部链接离开我的网站然后返回时,Chrome 会为该 URL 呈现缓存数据 - 问题是,他缓存 JSON 内容并显示它,而不是完整的网页。
这可以通过这些步骤重现(更新:从那时起我在我的网站上删除了 AJAX 功能,所以这个错误不再出现):
- 打开http://beta.mirtes.cz/
- 单击第二个日期链接(16. 6. 2012 旁边的“这一切都始于一封奇怪的电子邮件”)。此页面(您现在位于http://beta.mirtes.cz/it-all-began-with-a-strange-e-mail)通过 AJAX 加载。
- 点击“这一切都始于一封奇怪的电子邮件”。您被重定向到外部网站。
- 页面完全加载后,在 Chrome 中单击“返回”。
我尝试使用 Cache-Control: no-cache 发送所有 AJAX 响应,但没有任何效果。
Firefox 12 工作正常。