如何通过在浏览器的地址字段中输入URL www.mydomain.com/index.htm或www.mydomain.com来强制浏览器在加载页面时始终加载最新版本的index.htm,按回车。
我正在Chrome中尝试此操作,最新版本的index.htm显然只会在我手动刷新(F5)时加载,或者当URL已经在浏览器的地址栏中时按下回车键。
我想我正在做一些非常愚蠢的事情,因为当我搜索这个问题时,我所能找到的解决方案是关于如何通过将?v = xxxx附加到文件名来使浏览器重新加载.js和.css文件。但是,如果不是最新版本的index.htm页面,我应该如何工作呢?
我也尝试过把
<meta http-equiv="cache-control" content="no-cache">
在index.htm的<head>
中。但这似乎没有任何影响。
非常感谢任何帮助!
谢谢,Linus
答案 0 :(得分:41)
好的,显然没有缓存是不够的。 以下是诀窍:
<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0" />
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
答案 1 :(得分:2)
您可以使用以下代码在特定秒数后从直接输入浏览器地址栏的URL地址刷新或重新加载当前加载的索引页,从而迫使浏览器始终重新加载当前文档。在这种情况下,秒数已设置为5:
<meta http-equiv="refresh" content="5" />
请注意,将秒数设置为0会导致每次成功下载页面时都会立即自动重新加载页面。
答案 2 :(得分:1)
为此,您需要在此过程中执行一些服务器端编码。您可以使用PHP或ASP.NET等技术。我更喜欢用PHP编码,所以这是一个基于PHP的例子。首先,确保你的INDEX被调用&#34; index.php&#34;而不是&#34; index.html&#34;或&#34; index.htm&#34;。现在请注意以下代码并将其集成到index.php文件中,同时插入您自己的页面内容:
<html>
<?php
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
?>
<head>
<script>
var sse = new EventSource("index.php");
sse.onmessage = function(event) {
document.write(event.data);
}
</script>
</head>
<body>
<!-- Insert HTML Codes -->
<?php
flush();
?>
</body>
</html>
答案 3 :(得分:0)