我有一个非常简单的测试用例来解释问题。
这是我在 Rails 中的 ERB 文件中显示的页面。
<div><%=rand%></div>
<p><a href="http://google.com">Go</a></p>
为了显示错误,我加载了页面。我注意到随机数显示为rand1
。我点击谷歌链接。我单击浏览器的“返回”按钮。我注意到随机数显示为rand2
。
这就是问题所在:在 Firefox 和 Chrome 中,rand1 != rand2 (总是)。在 Safari 和 IE 中,rand1 == rand2(总是)。
为什么浏览器中的差异?为什么 Safari 和 IE 缓存 Rails 的输出,而其他两个浏览器没有?如何让 Safari 和 IE 刷新页面?
(这是一个显示问题的简单测试用例 - 这对我的 Backbone 应用程序有影响)。