我正在建立一个动态内容的新闻网站,该内容经常更新(每天多次)。用户数在 Windows Phone 7.5 IE 9.0 Mobile 中报告了此错误:
- 用户导航到新闻网站首页并看到页面的最新版本
- 用户单击文章的链接并导航到文章页面
- 用户单击浏览器的后退按钮
预期结果:
单击后退按钮后,用户会看到首页,正是她在导航到文章页面之前看到的内容。
实际结果:
用户看到一个非常旧的(一周左右)版本的首页。
有没有其他人在 Mobile Internet Explorer 9 中看到过这个 bug?我怎样才能防止这种情况发生?
更多细节:
- 服务器响应包含标头 Cache-Control:max-age=60。我想保持这种状态。禁用浏览器缓存不是一种选择。
- 响应标头或 HTML 元标记中没有其他与缓存相关的指令。
- 一些用户说这个问题也发生在其他网站上
- 根据 MS 的这篇博文(http://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx)按下后退按钮不应该从服务器检索页面,即使缓存的页面不是新鲜的。这对我来说完全没问题,但如果缓存的页面是一周前的,那就不行了。
- 当用户第一次导航到我们的网站时,他们会看到页面的新版本。似乎某些东西阻止了 IE 缓存该页面,因此后退按钮返回一些非常旧的缓存版本。