强制浏览器重新加载 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 的 &lt;head&gt; 中。但这似乎没有任何效果。

任何帮助将不胜感激!

谢谢,莱纳斯

【问题讨论】:

如果你刚到这里,你可能真的在寻找***.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 文件

更新后强制浏览器重新加载 Silverlight xap

仅当它们已更改时才强制浏览器重新加载 css/js

在 Visual Studio 中调试时如何强制 Chrome 浏览器重新加载 .css 文件?

ASP.NET - IIS 7 - DotNetNuke - 如何强制浏览器重新加载站点的 CSS?