除非我清除浏览器缓存,否则为什么不应用CSS?

时间:2019-05-29 11:31:05

标签: php html css google-chrome

我正在为学校项目制作一个简单的网站。一切顺利,直到我将php添加到代码中。现在,由于某种原因,它不想每次都应用css更改。我在某些网站上验证了html,css和php,一切似乎都很干净。然后我碰到一篇文章,说我必须清除缓存才能使CSS生效。它的工作原理(使用铬),尽管现在我必须在每次CSS更改后将其清理,否则将无法应用。我唯一想到的是,我在PhpStorm中工作,但是使用xampp而不是PhpStorm内置浏览器来检查代码,尽管直到php都可以正常工作。在每一个CSS更改之后,还有没有比清除缓存更好的方法了?

3 个答案:

答案 0 :(得分:2)

您可以编辑服务器设置,但是我只是习惯做“ Hard Refresh”而不是刷新。

在开发网站时,我总是在定期刷新时使用“硬刷新”,以避免旧内容从缓存中被拉出。只需按Ctrl + shift + r即可进行硬刷新,或查看上面的链接以获取不同系统和浏览器上的快捷方式列表。

答案 1 :(得分:1)

在Chrome中,建议您在打开开发人员工具时禁用缓存。

为此,请打开Chrome的开发者工具(按F12),然后打开“设置”(按F1)。在Disable cache (while DevTools is open)标题下找到标有Network的复选框。

启用此功能后,在进行开发工作时,请保持打开开发工具窗口,并且Chrome将不再缓存CSS文件并始终加载最新版本。

答案 2 :(得分:0)

在要导入CSS的链接中添加随机查询字符串。这样,Chrome不会将其识别为静态资产,并且始终会从服务器获取最新版本。

如果需要增强缓存,请确保在上线之前将其删除。

使用php看起来像这样:

<link href="style.css?v=<?=rand(1,1000)?>" />

这样,一次就像style.css?v=28,下次像style.css?v=674,然后是style.css?v=18,依此类推,因此没有浏览器会缓存这种样式。