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

Html 防止浏览器在用户回击时重新加载页面,html,browser,reload,back-button,Html,Browser,Reload,Back Button,我似乎有与大多数SO用户相反的问题。我有一个很少更改的静态页面,我希望当用户快速导航回该页面时,浏览器不要重新加载该页面。我无法找到任何简单的规则列表,这些规则在浏览器重新加载back navigation时详细列出,而在浏览器不加载back navigation时详细列出 如果有区别的话,我的URL有一个查询字符串,并使用https://协议提供服务。您不需要知道是否使用了后退按钮。只需告诉浏览器使用缓存控制标题缓存页面。你会看到很多来自谷歌的例子- 具体来说,请看这些元标记: <met

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


如果有区别的话,我的URL有一个查询字符串,并使用
https://
协议提供服务。

您不需要知道是否使用了后退按钮。只需告诉浏览器使用缓存控制标题缓存页面。你会看到很多来自谷歌的例子-

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

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

编辑:

这里有一个链接,指向谷歌搜索的一个结果。我认为它很好地解释了这些头文件是如何工作的


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

您是否尝试过body tag的事件

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

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

函数调用者()
{
返回false;
}

适用于大多数情况。

为什么只适用于背面导航?如果用户从历史记录加载此页面,但该页面未更新,该怎么办?它也不应该重新加载。HTTP 304未修改状态代码是您所需要的:这只是我不太关心的事情。我可以只解决back navigation的问题,因为许多用户单击一个链接,如果他们找不到他们需要的东西,就快速返回。在这一点上有一个额外的服务器负载是我想解决的问题。您是否使用php脚本并希望发送未修改的HTTP 304?不,这不是我正在做的,也不是我想做的。如果您有一个静态html页面,那么情况就会简化。Apache必须自动发送HTTP 304头。你能给一个测试页面的链接,看起来和你使用的完全一样吗?我想我要找的是一个资源,它会列出不同浏览器在不同情况下如何尊重这些标题。举个例子,我记得在过去,有查询字符串的URL和没有查询字符串的URL的处理方式是不同的,这就是为什么我为你添加了谷歌链接。网上有大量关于这方面的信息。我为您的答案添加了搜索中的一个资源。它很好地解释了这一点,并给出了一些例子。