【问题标题】:CSS changes not reflecting on siteCSS 更改未反映在网站上
【发布时间】:2008-12-21 08:19:13
【问题描述】:

每当我们对 CSS 进行更改时,通常需要 24 小时才能在我的网站上反映这些更改。我曾尝试清除服务器缓存和浏览器缓存,但也无济于事。有没有其他方法可以让 CSS 更改在更新后立即反映出来?

它发生在所有浏览器中...当我在浏览器中检查它时,我可以使用两个路径访问我的 css 文件,例如:我将我的 css 存储在名为“Cssfolder”的文件夹中,我的 css 名称是 135.css 因此,当我访问文件夹路径 Cssfolder/135.css 和 cssfolder/135.css 时,其中一个路径显示我最新的 css,而另一个显示我旧的css.注意“c”在一条路径中是大写,而在另一条路径中是小写。

谢谢。

【问题讨论】:

  • 您是使用代理还是 ISP 缓存页面?
  • 在查看“旧”CSS 时即使按下 Shift-F5 也是如此吗?
  • 是的,f5 和刷新也是如此 :(

标签: asp.net css


【解决方案1】:

我发现这在我的很多项目中都是一个很常见的问题。我会建议两件事......

  1. 如果只是您正在开发的应用程序,您可以在开发过程中使用CSS Cachebuster

  2. 按照 Cachebuster 背后的想法,我发现经常将 CSS 文件的时间戳作为查询字符串添加到 CSS 链接之外,这将有助于告诉浏览器该文件是不同的......类似于。 ..whatever.css?12212009035543

【讨论】:

    【解决方案2】:

    您可能希望使用监控工具(例如 Firefox 的 Live Http Headers)来查看服务器的请求和响应。这通常为我解决了很多问题。查看“Expire”标头和条件请求(例如:“If-modified-since”)。这就是说,看看服务器和客户端的本地时间和时区——它们可能存在显着差异,并且条件 GET 请求“似乎”得到了正确处理,因为未来或以其他方式损坏的时间戳。

    您可以通过在 url 中附加一个随机的唯一值来强制直接从服务器加载当前 css,例如 http://example.com/Cssfolder/135.css?983274928374http://example.com/cssfolder/134.css?08973249827。除非您两次使用相同的随机值,否则这将永远不会被缓存。

    通过这种方式,您可以了解在哪里进一步寻找问题的解决方案:在服务器、ISP/代理或您的浏览器。

    【讨论】:

      【解决方案3】:

      你真的需要看看这是服务器端还是客户端。如果服务器仍然服务旧的 CSS,那么显然你在客户端没有机会。

      我偶尔会看到必须在浏览器中显示 CSS 的情况,然后下次我访问实际页面时,它会使用新的 CSS。通常只需点击刷新即可。

      您在任何地方都有像 Akamai 这样的网络缓存吗?

      如果您尝试从从未见过旧版本的计算机访问 CSS 页面,它会显示哪个版本?

      编辑:更改答案以反映有问题的编辑。

      【讨论】:

      • 在这种情况下,它将显示较新的版本,但服务器无法更改,因此每次我更新服务器上的代码时都会遇到此问题。而且我在这种情况下没有任何网络缓存
      • 如果您从其他计算机浏览时显示较新版本,则可能是客户端问题。
      【解决方案4】:

      我过去一直在处理这个问题,最后写了一个 httpmodule 来处理它。

      这很简单,它只是在 head 标记中找到所有脚本/css 链接(它们现在需要具有 runat=server)并将程序集版本号附加到链接中,与 Tim K 描述的方式相同。这样,当我的应用在生产中更新时,我可以确保我的客户总是获取最新的 css/脚本,并且永远不必再处理这个问题。

      【讨论】:

        【解决方案5】:

        可能是 Internet 服务提供商缓存,例如 case

        【讨论】:

          【解决方案6】:

          我对这个问题感到困惑,然后有人说 Ctrl+F5。为我工作:)

          【讨论】:

            【解决方案7】:

            当我在开发时,我需要确保我在工作时看到了变化,我将 css 粘贴在页面中,即

            <style type="text/css">
            /* your css */
            </style>
            

            或者您可以不断更改 css 文件本身的名称,这在生产环境中不是很有用,但在开发时可能没问题。

            我知道它不能解决问题,但开发它是可以的。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-11-02
              • 2014-09-01
              • 2013-04-20
              • 2019-07-12
              • 2023-02-10
              • 2014-11-29
              • 1970-01-01
              相关资源
              最近更新 更多