【问题标题】:Dynamically created stylesheets not (always) updating, causing style flickering动态创建的样式表不(总是)更新,导致样式闪烁
【发布时间】:2010-07-22 06:17:30
【问题描述】:

我有一个 php 脚本,它加载 CSS 样式表,更改颜色属性,然后使用新颜色创建一个新的 CSS 文件并将其链接到页面。

当我点击刷新时,它有时会更新以反映更改,有时则不会。起初我以为是缓存,所以我在 Safari 中禁用了缓存,但它仍然发生。

我想知道你们中是否有人遇到过这种情况,以及是否有适合我的解决方案。

谢谢! 马特

【问题讨论】:

    标签: php css caching dynamic


    【解决方案1】:

    CSS 因缓存而臭名昭著。即使你做了什么也可能无法阻止它缓存

    重新加载 CSS 的可靠方法是这样做:

    <link rel="stylesheet" type="text/css" href="MyStylesheetScript.php?version=1" />
    

    只需忽略 sript 中的查询字符串。每次更改 CSS 时更改其值 (2, 3, 4) 将强制所有浏览器重新加载 CSS。

    如果在那之后它没有改变,那么问题是你的 CSS :)

    【讨论】:

    • 感谢您的评论。不幸的是,我已经这样做了。 '?'.time()
    • 它确实发生了变化,只是并不总是随着反映的变化而更新。
    • 那恐怕问题出在你的 CSS 上。
    • 你就是那个男人。我花了 4 个小时才意识到你的球技。你是对的,这是我的CSS。我随机生成 ID,但当我的 ID 以数字开头(即button#5fGz)时它失败了
    • 你正走在一条人迹罕至的道路上 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 2018-12-23
    • 2023-04-03
    • 2010-09-15
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多