我有一个适用于firefox和chrome的页面。在IE7中,我遇到了一个相当有趣的行为,样式表没有加载。但是,如果按CTRL F5,则确实如此。
至少可以说这很烦人。
有人遇到过这个问题吗?有什么建议吗?
仅供参考:该页面使用JQuery和普通的javascript,有完全相对的CSS元素,有条件的HTML(分离IE特定的javascript,因为当与IE阴影过滤器组合时,IE7对一些jQuery效果不会很好地响应,也是加载一个特定于IE的样式表,该样式表解决了一些与f-ed up相关的规范违规问题。
答案 0 :(得分:2)
IE只是缓存css而不是检查新的css,因为它具有相同的名称。为了强制加载新的css,您必须更改名称。很多时候,人们会做一个版本号来绕过这个IE:
mySheet.001.css
mySheet.002.css
...etc.
这样,第一次更改版本号时,将为所有用户重新加载 - 只需确保更改参考。
答案 1 :(得分:2)
防止缓存的一个好方法是在CSS文件上使用查询字符串。
尝试:
<link rel="stylesheet" type="text/css" href="style.css?v=00001" />
如果您在进行更改时对数字进行排序,它将自动重新下载css文件,而无需重命名。您也可以为图像和其他文件执行此操作。
编辑:如果你有一个频繁更改的网站使用日期作为字符串而不是版本号,我发现它更有用。只是让它更具人性化。
即
<link rel="stylesheet" type="text/css" href="style.css?v=130906-1" />
答案 2 :(得分:1)
您是否尝试更改IE缓存设置?
答案 3 :(得分:0)
@naspinski:没有.xmars写道他清除了缓存。问题不考虑更新后看到更改。不建议使用CSS名称漏洞利用。缓存是为了某些东西,它是为了提供更高的效率,而网站没有更新,并且应该能够从这个解决方案中受益。此外,Etag是应该用于触发客户端更新的正确机制,而不是一些草率的解决方法。
@xmars:IE7没有关于在条件评论中链接级联样式表的已知,报告,复制和记录的错误。要么你是一个强大的bug发现者,要么就是错误的。我投票第二。在此链接您的文件。我们来看看他们。