所以我在我的新服务器上遇到了这个非常奇怪的错误,其中CSS不会在浏览器中更新。刷新和清除缓存不起作用。然后我打开FileZilla,看看更新的CSS文件是否实际上是使用FTP上传到服务器,然后当我将css文件的副本拖到我的桌面时,css文件会神奇地更新。 PHP文件更新得很好。
以下是我如何添加css:<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
我不知道发生了什么以及如何解决这个问题,所以任何帮助都会非常感激!
答案 0 :(得分:6)
您可以遇到任何问题,但我想在使用Chrome时提出一个很酷的提示。
在您的页面上, 打开开发人员工具 如果按住重新加载按钮,您将获得清除缓存和硬重新加载的绝佳选择!
确保在开发过程中获得“最新鲜”的副本非常方便。
<强>更新强> 至于你的场景(阅读更新后),它听起来像你的CSS文件的HTTP头问题。
检查CSS文件响应发送的HTTP标头。如果您没有指定缓存标头,它可能会尝试为您缓存。在开发时设置过期标题(过去),但在生产中将来会很远。在开发人员工具(大多数浏览器)的网络标签中,您应该能够看到这些标题,或者您可以使用类似Fiddler的标题来深入检查网络流量。
或者,如果您无法轻松调整HTTP标头,则设置远期过期标头,但确保每次进行代码更改时文件的路径都会更改。选项包括:
答案 1 :(得分:2)
您可以尝试查询以强制浏览器在加载时加载新的CSS。要做到这一点
.wrapper {
white-space: nowrap;
}
如果您对php感到满意,可以尝试使用以下代码强制浏览器加载最新加载的CSS。要做到这一点
<form>
<span class="wrapper">
<label for="FirstName">First:</label>
<input name="FirstName" type="text" />
</span>
<span class="wrapper">
<label for="MiddleName">Middle:</label>
<input name="MiddleName" type="text" />
</span>
<span class="wrapper">
<label for="LastName">Last:</label>
<input name="LastName" type="text" />
</span>
</form>
这将确保浏览器始终加载带有上次修改时间戳的新CSS。
希望这对你有所帮助。