如何在历史记录中禁用页面重新加载?

时间:2011-01-15 11:38:37

标签: javascript jquery html history reload

我不希望在我的网页上回溯历史记录时重新加载页面。

当访问者在浏览器上单击后退按钮或按退格键时,我的页面将重新加载。如何在历史记录中禁用重新加载或如何激活真正的缓存?

...谢谢

3 个答案:

答案 0 :(得分:1)

此行为源于浏览器的MO,而不是来自您的目的。

答案 1 :(得分:1)

您无法阻止网页重新加载。如果您的问题是POST页面重新编码,并且消息提醒用户POSTED数据应该重新发送,那么您应该在POST时使用303重定向查看“重定向后发布”原则。它可以修复一些这些行为。

您应该看到的第二件事是您使用页面响应发送的缓存标题,使用firebug或其他工具的PageSpeed扩展名,您将获得有关实际标题的良好提示发送以及您可以调整的设置。当您的缓存标头很好时,您会看到某些页面不会被调用,并且来自浏览器的某些查询不会生成真正的GET +响应200但是304未更改的响应和标头查询。如果你深入分析,你会发现浏览器缓存的工作方式取决于很多浏览器。

答案 2 :(得分:0)

在同一文档中关注HTML书签时,不会重新加载页面。也就是说,所有浏览必须仅使用Javascript进行,并且URL必须保持不变,直到#字符。要正确处理“后退”按钮,您可能需要使用onpopstate event。如果您不希望对网址进行任何更改,可以使用history.pushState()

如果浏览器不支持Javascript,您可以使用CSS :target选择器执行一些操作 - 或者只是通过重新加载将用户导航到另一个页面。

注意:我没有对这样的页面进行编码,这只是我在阅读API reference page之后的猜测。