防止浏览器在用户返回时重新加载页面

时间:2013-04-11 20:39:32

标签: html browser reload back-button

我似乎遇到了大多数SO用户的相反问题。我有一个很少更改的静态页面,我希望浏览器在用户快速导航回来时不要重新加载该页面。我无法找到任何简单的规则列表,这些规则详细列出了浏览器在后退导航时重新加载的时间,以及当浏览器没有重新加载时。

如果它有所不同,我的网址会有一个查询字符串,并使用https://协议提供。

2 个答案:

答案 0 :(得分:10)

您无需知道是否已使用后退按钮。只需告诉浏览器使用缓存控制标头缓存您的页面。您会看到许多来自Google的示例 - http cache control headers

具体来说,请看这些元标记:

<meta http-equiv="CACHE-CONTROL" content="..." />
<meta http-equiv="EXPIRES" content="..." />

修改

以下是Google搜索结果之一的链接。我认为它给出了这些头如何工作的很好的解释。 Increasing Application Performance with HTTP Cache Headers

使用这些标题,您可以指定缓存页面的时长; 10分钟,30分钟,小时,天等等。

答案 1 :(得分:0)

您是否尝试过body标签的 onpageshow 事件?

<script type="text/javascript">
    function caller()
    {
      return false;
    }
</script>
</head>

<body onpageshow="caller();">
</body>

适用于大多数情况。