【发布时间】:2012-02-21 04:52:26
【问题描述】:
问题:我有一个包含动态内容的网站,每次用户看到它时都需要重新加载。这包括当用户点击另一个站点上的后退按钮并来到需要重新加载的站点时的用例。大多数(所有?)浏览器在此事件之后都不会刷新网站。
我的解决方案(不太有效): http://www.hunlock.com/blogs/Mastering_The_Back_Button_With_Javascript
window.onbeforeunload = function () {
// This function does nothing. It won't spawn a confirmation dialog
// But it will ensure that the page is not cached by the browser.
}
但它仍然没有刷新页面。
有什么想法可以影响/阻止所需的行为吗?对此问题还有其他解决方案建议吗?
编辑:
设置如下:
Cache-Control private, must-revalidate, max-age=0
Expires Sat, 26 Jul 1997 05:00:00 GMT
Pragma no-cache
和:
<meta name="cache-control" content="no-cache" />
<meta name="expires" content="0" />
<meta name="pragma" content="no-cache" />
还是没有成功。
【问题讨论】:
-
您不应试图阻止浏览器缓存页面。当我使用后退按钮时,我希望我所在的页面会重新出现,就像我离开时一样。但如果该页面有自动更新元素,那么当我返回时,这些元素应该会继续更新。
-
很遗憾,有时您需要这样做,例如:quora.com/…