更改CSS后,浏览器中的CSS不会更新


14

我正在我的wordpress网站的CSS上工作。当我进行更改并刷新页面时,更改不会反映出来。当我清除浏览器历史记录并缓存时,更改仍会反映出来。当我查看页面的源代码并查看css文件时,它具有更改之前的旧内容。我该如何进行更新以进行开发?


您是否正在运行缓存插件?您的CSS文件可以缓存在服务器上。
Pat J

看来我没有缓存插件。
David Tunnell

如果您不使用WordPress,是否可以使用?例如,一个名为的文件test.html和一个关联.css文件?
Pat J

如果任何一个答案都可以帮助您解决问题,请确保接受!
mrwweb 2014年

Answers:


14

在要附加的css文件末尾添加随机版本号。如果您正在使用“ wp_enqueue_style ”或wp_register_style函数,则将随机(版本)数字rand(111,9999)传递给第4个参数。如果将css作为html标记附加,则应?ver=<?php echo rand(111,999)?>在文件名的末尾添加“ ”。例子在这里

wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), rand(111,9999), 'all' );

要么

<link rel="stylesheet" type="text/css" href="http://website.com/css/custom-style.css?ver=<?php echo rand(111,999)?>">

这样可以避免客户端缓存和服务器缓存。


7

我知道这篇文章已有一年多的历史了,但是我想我想说一下CloudFlare缓存静态文件(例如CSS,JS和图像)以帮助加快加载时间。我花了几个小时才弄清楚的事情,因为我的css更改存在问题,无法反映在重新加载上。CloudFlare具有开发模式,您可以启用3个小时。如果您在开始进行修改之前忘记启用它,则可以从cloudflare管理中清除缓存。


1
CloudFlare认为是否存在?ver=无法更新的文件。
hlcs

您是否告诉我每次对CSS,javascript进行更改时都需要清除Cloudfare缓存?这种开发模式实际上有什么作用?Thnx
Tanvir

0

您的主机可能正在使用Varnish之类的内容来缓存您网站的输出。我遇到了一个客户网站,该网站托管在一个低价共享托管帐户中。我发现的唯一补救方法是耐心等待。


0

如果您使用的是子主题,则可能需要将子主题样式表放入队列以便立即查看更改。这解决了我的问题。


0

只是想指出-请务必注意已安装的所有缓存插件。例如,如果您不记得登录WP仪表板并在导航菜单中单击“清除缓存->删除缓存并缩小CSS / JS”,则WP Fastest Cache可能会导致此问题。


0

这可能是旧的。但是我需要支持可能会寻求帮助的人。我遇到了同样的问题,并检查了插件。有“ w3总缓存”插件可以加快加载速度。那是服务器端缓存插件,所以我禁用了它。CSS更改再次实时可见。有很多加载助推器插件。因此,请检查您的插件列表并禁用它们,直到完成开发为止。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.