CSS文件未在浏览器中刷新

CSS文件未在浏览器中刷新,css,Css,当我对CSS文件进行任何更改时,这些更改不会反映在浏览器中。如何修复此问题?您是否尝试过将新版本的CSS重命名为CSSv2.CSS,然后指导您的页面使用它?如果这解决了陈旧文件的问题,那么您只是遇到了不刷新文件的问题。如果没有,你会有更大的问题。几个星期?尝试打开样式表本身(在浏览器的地址栏中输入地址),然后按F5。如果它仍然没有刷新,那么问题就出在其他地方 如果更新样式表并希望确保它在每个访问者的缓存中都得到刷新,那么一种非常流行的方法是添加一个版本号作为GET参数。这样,样式表会在必要时刷新

当我对CSS文件进行任何更改时,这些更改不会反映在浏览器中。如何修复此问题?

您是否尝试过将新版本的CSS重命名为CSSv2.CSS,然后指导您的页面使用它?如果这解决了陈旧文件的问题,那么您只是遇到了不刷新文件的问题。如果没有,你会有更大的问题。

几个星期?尝试打开样式表本身(在浏览器的地址栏中输入地址),然后按F5。如果它仍然没有刷新,那么问题就出在其他地方

如果更新样式表并希望确保它在每个访问者的缓存中都得到刷新,那么一种非常流行的方法是添加一个版本号作为GET参数。这样,样式表会在必要时刷新,但刷新频率不会超过此值

<link rel="stylesheet" type="text/css" href="styles.css?version=51">


这听起来像是你的浏览器正在缓存你的css。如果您使用的是Firefox,请尝试使用Shift-Reload加载页面。

这是本地自定义CSS文件吗?这是你的网站吗?也许你应该清理你的缓存


最后一个CSS声明优先。

强制重新加载CSS的一个好方法是:

<link href='styles.css?version=1' rel='stylesheet'></link>


然后在更改CSS时增加版本号。然后浏览器将服从。我相信StackOverflow使用了这种技术。

出于习惯,我总是使用Ctrl+Shift+F5,它应该会强制进行完全刷新,包括通过传递您可能要通过的任何http代理。

我遇到了这个问题,在两天的大部分时间里我都在挠头

结果我完全忘了在我进行现场测试的域上安装了CloudFlare

CloudFlare缓存您的JavaScript和CSS。打开开发模式和BAM

说真的。。。整整两天

此修复称为“硬刷新”

在大多数Windows和Linux浏览器中:按住Ctrl键并按F5

在Apple Safari中: 保住⇧ 按住Shift键并单击“重新加载”工具栏按钮

在Chrome和Firefox for Mac中:
两手都按住⌘ 指令+⇧ 按住Shift键并按R键。

如果使用的是ASP.NET web表单,请确保使用的主题正确:


我只是花了大约一个小时来解决这个问题

我也面临同样的问题。重命名该文件对我很有效。

在我找到自己的懒惰解决方案(基于其他人的建议)之前就遇到了这个问题。如果您的
内容通过php解释器,这应该会很有帮助

若要在每次对文件进行更改时强制下载该文件,可以在文件末尾的问号后添加该文件的文件字节大小

<link rel="stylesheet" type="text/css" href="styles.css?<?=filesize('styles.css');?>">
在Windows中执行Shift+F5。在这种情况下,缓存真的很糟糕。在Chrome中,Ctrl+F5解决方案对我不起作用

但我发现:

  • 加载页面时,打开Chrome开发者工具(右键单击>检查)或(菜单>更多工具>开发者工具)
  • 接下来,转到Chrome浏览器中的“刷新”按钮,右键单击“刷新”按钮
  • 选择“空缓存和硬刷新”

  • 希望这个答案能帮助别人

    发生这种情况的原因是文件存储在浏览器的“缓存”中,因此浏览器无需再次请求工作表。这适用于HTML链接到的大多数文件,无论它们是CDN还是服务器上的文件,例如样式表。硬刷新将重新加载页面,并将新的GET请求发送到服务器(如果需要,发送到外部b)

    您还可以使用以下键盘快捷键清空大多数浏览器中的缓存

    狩猎:Cmd+Alt+e


    Chrome和Edge:Shift+Cmd+Delete(Mac)和Ctrl+Shift+Del(Windows)

    既然我发现这个线程有同样的问题,10年后,我也会添加我自己的解决方案。我大部分时间都使用PHP,而不是要求用户按不寻常的按钮刷新页面,也不是要求我自己记住在链接中嵌入一个版本号,而是使用filemtime()函数获取css文件的修改时间(作为unix时间戳),然后将该数字用作参数

    $FILE_TIME = filemtime("main.css");
    $CSS_LINK  = "main.css?version=$FILE_TIME";
    
    而生成的URL类似于:

    http://example.com/blah/main.css?version=1602937140
    
    这将完全禁用缓存,因为每次刷新页面时,它都会认为需要再次获取CSS文件,无论是否更改。。。但这远没有忘记手动更新这个技巧,浪费时间去想为什么它不正确那么令人沮丧。您始终可以将其从生产服务器中删除


    如果您使用的是纯HTML,您可能需要设计一个javascript包装器或类似的东西,但这可能会带来更多麻烦。

    我也面临同样的问题。我发现解决这个问题的唯一方法是重命名文件。不管我怎么做,Firefox都会不断地重新加载旧文件。只有在重命名后,我才看到正确的css。我发现,当我测试东西时,另一种快速有效的方法是打开开发人员控制台,然后转到设置并单击复选框“禁用缓存(当DevTools打开时)”—然后我可以用控制台测试代码,并知道我总是看到最近的更改。不客气。使用这种方法,每次上传之前是否需要重命名样式表以匹配href语法???@noy hadar否,每次将“version”参数更改为不同的值就可以了。刚刚注意到Cloudflare在抓挠我的头几个小时后缓存CSS文件。在对wtf疑惑了一个小时之后,我打开了开发模式,它立即工作。谢谢你发布这个!这种反应被低估了。谢谢虽然你的用户不会这么做,但发布时不要依赖它。这里只需要注意一点——你的答案使用PHP,但问题本身被标记为CSS。请尝试将您的解决方案保留在问题的范围内。另一个注意事项-最好使用filemtime(),因为将CSS文件中的“10px”更改为“45px”不会改变其大小。如果您不使用版本强制它,否则它将在缓存中保留多长时间?我有一个问题
    http://example.com/blah/main.css?version=1602937140