强制浏览器重新加载 index.htm
Posted
技术标签:
【中文标题】强制浏览器重新加载 index.htm【英文标题】:Force browser to reload index.htm 【发布时间】:2015-01-05 05:44:32 【问题描述】:如何通过在浏览器的地址字段中输入 URL www.mydomain.com/index.htm 或仅 www.mydomain.com 来强制浏览器在加载页面时始终加载最新版本的 index.htm 和按回车键。
我正在 Chrome 中尝试此操作,而最新版本的 index.htm 显然仅在我手动刷新 (F5) 或 URL 已在浏览器的地址字段中并按 Enter 时加载。
我想我在做一些非常愚蠢的事情,因为当我搜索这个问题时,我能找到的只是关于如何通过将 ?v=xxxx 附加到文件名来让浏览器重新加载你的 .js 和 .css 文件的解决方案.但是,如果我正在做这些修改的最新版本的 index.htm 页面没有加载,这应该如何工作??
我也试过放
<meta http-equiv="cache-control" content="no-cache">
在 index.htm 的 <head>
中。但这似乎没有任何效果。
任何帮助将不胜感激!
谢谢,莱纳斯
【问题讨论】:
如果你刚到这里,你可能真的在寻找***.com/questions/49547/… 【参考方案1】:好的,显然没有缓存是不够的。 以下是诀窍:
<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" />
【讨论】:
@stefanosn 你也可以尝试在 JS 和 CSS 文件中添加一些变量。在此处查看更多信息***.com/a/15562751/4481831 非常感谢【参考方案2】:您可以使用下面的代码从直接输入浏览器地址栏的 URL 地址刷新或重新加载当前加载的索引页面,并在特定秒数后强制浏览器始终重新加载当前文档。在本例中,秒数已设置为 5:
<meta http-equiv="refresh" content="5" />
请注意,将秒数设置为 0 会导致页面在每次成功下载时立即自动重新加载。
【讨论】:
不是用户要求的。这将每 5 秒重新加载一次,而不仅仅是一次。【参考方案3】:为此,您需要在此过程中执行一些服务器端编码。您可以为此使用 php 或 ASP.NET 等技术。我更喜欢用 PHP 编码,所以这里有一个基于 PHP 的示例。首先,确保您的索引名为“index.php”,而不是“index.html”或“index.htm”。现在记下以下代码并将其集成到您的 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>
【讨论】:
以上是关于强制浏览器重新加载 index.htm的主要内容,如果未能解决你的问题,请参考以下文章
如何强制浏览器重新加载缓存的 CSS 和 JavaScript 文件