代码之家  ›  专栏  ›  技术社区  ›  Richard de Ree

jquery加载的文件仍在缓存中

  •  0
  • Richard de Ree  · 技术社区  · 8 年前

    在我网站的一部分,我有最后一刻的信息,应该会出现在任何一页上。

    为此,我有一个名为“LM\u overzicht.html”的文件,我将其加载并显示在如下div中:

    $(document).ready(function(){
        $("#LM2").load("LM_overzicht.html")
    
        });
    
    
    <div id="LM2"></div>
    

    但当我换了LM\U overzicht。html“刷新页面时不会显示更改,只有ctrl+F5才能完成。 所以我加入了stackoverflow的其他技巧

    first this part in HTML:
    <meta http-equiv='cache-control' content='no-cache'>
    <meta http-equiv='expires' content='0'>
    <meta http-equiv='pragma' content='no-cache'>
    

    但刷新后仍不会显示更改。 我还尝试了JS中的另一个技巧

    <script>
    $(document).ready(function(){
        $.ajaxSetup ({
            // Disable caching of AJAX responses
            cache: false
        });
    
        $("#LM2").load("LM_overzicht.html")
    
        });
    </script>
    

    但这也不能清除缓存。有人知道怎么解决这个问题吗?

    我的网站: Link to my site, where this 'last minute' part is at the bottom of the page

    1 回复  |  直到 8 年前
        1
  •  2
  •   Huso    8 年前

    您可以在文件后面添加时间戳,这样它就不会被缓存。

    例如 LM_overzicht.html?t=1

    因此,使用JavaScript附加生成的时间戳。请注意,这种方式将永远不会缓存HTML文件,我不建议这样做。如果您仍然想这样做,您可以随时添加日期,而不是整个时间戳。。

    防止缓存的示例代码:

    $("#LM2").load("LM_overzicht.html?t=" + Math.floor(Date.now() / 1000));