【问题标题】:CSS has a refresh - delayCSS 有刷新 - 延迟
【发布时间】:2018-07-31 04:09:00
【问题描述】:

每次我处理我的标题并设置它的样式时,css 更改都会延迟。我的标头包含在 PHP 中。一般来说,包含文件和索引文件之间的连接没有问题。而且 css 也可以工作,但是每次我对 css 文件进行更改时,我都需要一些时间才能在浏览器中看到结果,因为在样式刷新之前会有很大的延迟。有时当我重新启动我的 xampp 服务器时它可以工作,但有时我必须重新启动我的电脑才能看到浏览器中的变化。

感谢帮助并为我的语法感到抱歉(我是德语)

【问题讨论】:

  • 我怀疑您的浏览器正在缓存您的样式表。您是否尝试过在进行更新时强制刷新(即 CTRL-F5)。
  • 是的,我做到了。顺便说一句:任何其他不包含在包含文件中而不是在主页中的东西都可以毫无延迟地工作
  • 我尝试了很多浏览器。有些像谷歌浏览器有延迟,有些像微软边缘没有延迟。但我还是不明白为什么
  • 当您从浏览器手动打开样式表时会发生什么?如果您发现磁盘上的内容与浏览器正在加载的内容之间存在差异,则说明您的样式表正在被缓存。如果您认为它被缓存了,我建议您咨询以下内容:stackoverflow.com/questions/460389
  • 好吧,我想你找到了我的问题,谢谢

标签: php html css include delay


【解决方案1】:

这是为了提高浏览器的性能而设计的,因此您的静态文件会被缓存以便更快地访问。简单刷新可能会或可能不会加载更改,但要强制它,您需要点击 CTRL + F5

【讨论】:

    【解决方案2】:

    原因是浏览器缓存。

    您有多种选择:

    • 强制刷新
    • 在 isspector 中,选项卡“网络”使用选项“禁用缓存”
    • 任何版本控制 css 的方式:

      <link rel="stylesheet" href="/f/css/lightbox.css?version=1">

    或调试约束

     <?php define('__DEBUG__', true) ?>
     <link rel="stylesheet" href="/f/css/lightbox.css?<?=__DEBUG__?time():''?>">
    

    或文件修改时间

     <link rel="stylesheet" 
     href="/f/css/lightbox.css?v=<?=filemtime(ASSETS_BASE_DIR.'/f/css/lightbox.css')?>">
    

    【讨论】:

    • 不错的答案,但需要对问题进行更详细的描述:大多数 HTTP 服务器默认使用长缓存标头提供像 CSS 这样的静态文件,这意味着您的浏览器和任何中间缓存都没有义务甚至检查新版本。
    猜你喜欢
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2018-12-19
    相关资源
    最近更新 更多