嗨我有一点问题
我上传了我的网站的新版本。 一些用户抱怨他们看到一些页面我改变得非常错误。
无论如何,在刷新后他们认为没问题。我认为是因为我的css文件早些时候被他们缓存了...... 为什么浏览器在首次加载时不自行下载css文件?..
他应该知道css文件改变了dosnt吗?提前致谢
答案 0 :(得分:5)
@ UpTheCreek的方法可以正常工作。但是,只需更改呼叫而不更改文件名就可以省去一些麻烦。
screen.css?v=12
这也会强制重新加载,但只需要您更改通话。
答案 1 :(得分:1)
他应该知道css文件发生了变化 dosnt他?
不一定。如果您的css文件已经从服务器发送了max-age指令和/或将来的远期日期,那么浏览器会被指示不向您的资源发出条件请求(请参阅http://developer.yahoo.com/blogs/ydn/posts/2007/05/high_performanc_2/),以便他们考虑缓存中的资源仍然有效。
在这种情况下,为了强制执行新请求,您可能需要重命名该文件或附加一个随机查询字符串,例如file.css?848372034
,或者更好的是附加file.css?v=1
答案 2 :(得分:0)
如果安装Web开发人员工具栏(适用于Firefox或IE),则可以禁用缓存。我在开发网站时使用它。每次进行小修改时,它都可以节省您重命名CSS的费用。
答案 3 :(得分:0)
如果您使用的是Apache,请尝试在根目录中添加.htaccess:
<FilesMatch ".(css|jpg|gif|ico|jpeg|png|html)$">
ExpiresActive On
Header set Expires "Mon, 22 Nov 2010 06:00:00 GMT"
</FilesMatch> [L]
仅包括您不希望缓存的文件类型,例如:
<FilesMatch ".(css|js)$">
如果您知道何时需要更改文件,请设置将来的日期 - 如果不定期刷新这些文件,您的网站会更快。
如果您没有设置到期日期,浏览器会按照其年龄按比例缓存这些文件。