【问题标题】:SPA : HTML changes on run time [duplicate]SPA:运行时的 HTML 更改 [重复]
【发布时间】:2018-01-15 11:56:59
【问题描述】:

当我们对 HTML 文件或 java 脚本文件进行任何更改时,有时 UI 不会通过简单的刷新来反映这些更改,我们需要清除浏览器 cookie/历史记录以反映更改。

我想知道是否存在通过代码清除浏览器 cookie/历史记录的任何选项。 这是个好习惯吗?

我没有找到解释单页应用程序最佳实践的文章

【问题讨论】:

    标签: javascript html caching single-page-application browser-cache


    【解决方案1】:

    这是由于cache 问题而发生的。在您的 HTML 标记中添加以下行,看看问题是否已解决。

    <meta http-equiv="cache-control" content="max-age=0" />
    <meta http-equiv="cache-control" content="no-cache" />
    <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" />
    

    【讨论】:

      【解决方案2】:

      使用快捷键“Shift+F5”刷新 或使用随机值的查询字符串加载脚本 像这样

          <script src="~/Scripts/scriptFile.js?[random value]"></script>
      

      【讨论】:

        【解决方案3】:

        Shift + F5Ctr + F5 = 重新加载当前页面,忽略缓存内容

        【讨论】:

          【解决方案4】:

          实现您想要看到的内容的一种方法(我认为...)是将 url 参数添加到加载资产的路径。

          例如,如果你正在加载一个 css 文件:

          &lt;link rel="stylesheet" type="text/css" href="css/style.css"&gt;

          尝试将其更改为:

          &lt;link rel="stylesheet" type="text/css" href="css/style.css?ver=1.1"&gt;

          每当您更新样式表时,要强制浏览器重新加载样式表,而不是使用缓存在浏览器中的副本,请更改 url 参数:

          &lt;link rel="stylesheet" type="text/css" href="css/style.css?ver=1.2"&gt;

          同样的原则也适用于外部 javascript。

          此外,您可以通过.htaccess 控制缓存 https://gist.github.com/hans2103/fca6f184df1c2c41b3dd

          正如 Kavish Mittal 所指出的,这可以在 html 文档中处理。

          【讨论】:

            猜你喜欢
            • 2014-09-22
            • 2011-07-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-02-02
            • 1970-01-01
            相关资源
            最近更新 更多