我正在制作php网站。 但是css存在一些问题。 我已将我之前项目中的一些css复制到新项目中。 如果我在那个css中改变某些东西,它就不会反映在浏览器(chrome)中,即使在inspect元素中也没有看到添加的css行。 在我的项目/网站中,每个CSS都是如此。 为了解决这个我做的是我重命名css doc,重命名所有现有的行加上添加的行反映。现在如果再次添加一些东西,我必须重命名工作表。 可能是我的浏览器引用了css的旧副本。如果我改为,它仍然引用旧副本。 解决方案
答案 0 :(得分:2)
在处理可以通过浏览器缓存的此类更改时,请将开发人员工具窗口保持打开状态并检查"禁用缓存"开发人员控制台的“网络”选项卡现在刷新chrome之后将始终加载新的更改。
参考:https://stackoverflow.com/a/7000899/3896470
将版本参数添加到CSS文件URL将有助于您避免在生产环境中出现此类问题,因为如果某些内容在您的浏览器中缓存,那么它也会缓存在您客户的浏览器中。
示例:link / to / css-file.css?ver = 1.0.1(由@Marek在https://stackoverflow.com/a/35251312/3896470中回答)
我无法添加评论以便添加为答案。
答案 1 :(得分:2)
您可以通过在src属性的末尾添加时间戳来阻止缓存:
<link rel="stylesheet" type="text/css" href="style.css?<?php echo date('l jS \of F Y h:i:s A'); ?>" />
答案 2 :(得分:0)
浏览器从缓存中获取旧版本的CSS文件。
要查看您的更改,您可以:
您只需添加&#39; ver&#39;参数到你的网址:
链路/到/ CSS-file.css?版本= 1.0.1
@Shipow解决方案很好但仅限于您在本地进行更改。不要在生产服务器上使用此解决方案,因为当您向URL添加当前时间戳时,您的CSS文件URL将在每次重新加载页面时更改。而且您客户的浏览器将始终下载此文件,因为此文件的URL每次都不同。
答案 3 :(得分:0)
强制CSS重新加载的一个好方法是:
<link href='styles.css?version=1' rel='stylesheet'></link>
然后在更改CSS时增加版本号。然后浏览器将遵守。我相信StackOverflow使用这种技术。
答案 4 :(得分:0)
您有缓存问题。 您可以在apache服务器配置上禁用缓存。