【问题标题】:CSS not reloading even though I have a unique link for every load即使每次加载都有一个唯一链接,CSS 也不会重新加载
【发布时间】:2014-09-29 15:18:29
【问题描述】:

这里是第一次网络开发人员。我有一个 wordpress 网站。我刚刚启动它。我正在尝试对样式表进行最后一分钟的更改。我已经检查并重新检查了样式表确实已在服务器上更新。

网页没有更新样式...

我尝试过: 1)在浏览器上进行硬刷新 2) 关闭浏览器窗口并再次访问该站点 3)在每个样式表链接的末尾添加一个唯一的字符串,如下所示:

<link rel="stylesheet" type="text/css" href="<?php echo home_url().'/wp-content/themes/backyard-cures/style1.css?'?><?php echo time() ?>" />

当我尝试更新服务器上的 php 文件时,更新会立即显示在我的浏览器中。但是样式表还是没有显示出来,为什么?

chrome 开发者中的样式表名称与我在服务器上的不同... 它看起来像 W.style.css,qve...JSOIE45S_4.css

感谢所有帮助,提前致谢。

【问题讨论】:

  • 你解析的源代码中的href是否包含随机时间数?
  • 您是否安装了任何 WP 优化插件?他们通常会缓存样式表并在开发过程中让您头疼!禁用您认为可能导致问题的任何插件,然后刷新..然后您可以诊断导致问题的原因
  • 嗯,我会调查一下,谢谢
  • 我不认为是插件。我认为这可能与我的样式表被重命名有关。为什么要重命名为那些长名称?
  • @stUrb 是的,确实如此。

标签: php css wordpress


【解决方案1】:

为什么不这样:

<link rel="stylesheet" type="text/css" href="<?php echo home_url().'/wp-content/themes/backyard-cures/style1.css?'.time() ?>" />

【讨论】:

    【解决方案2】:

    当然最好使用

    <link rel="stylesheet" type="text/css" href="<?php echo home_url().'/wp-content/themes/backyard-cures/style1.css?'.time() ?>" />
    

    但我不明白这是什么意思:/style1.css?'.time()

    PHP time() 函数会返回一个类似这样的数字:1412004693

    所以最终结果将是:.../style1.css?1412004693

    如果您要将 GET 中的任何参数传递给 /style1.css 页面,您应该这样做(为参数命名):.../style1.css?time=1412004693

    所以最后试试这个:

    <link rel="stylesheet" type="text/css" href="<?php echo home_url().'/wp-content/themes/backyard-cures/style1.css?time='.time() ?>" />
    

    希望对你有帮助! 再见

    【讨论】:

    • 您好,感谢您的回复。我相信目标不是通过从 GET 获取时间戳来实际使用时间戳。相反,它是强制服务器重新检索 css,而不是仅仅查找缓存。
    【解决方案3】:

    您能否在源代码中验证时间附录确实发生了变化?可能 n Wordpress 内部缓存系统处于活动状态。

    如果缓存有问题,我会使用浏览器的“隐身窗口”。

    【讨论】:

    • 已验证。隐身窗口没有帮助。不过感谢您的建议。
    猜你喜欢
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 2019-11-04
    • 1970-01-01
    • 2011-08-13
    • 2013-04-24
    相关资源
    最近更新 更多