页面刷新导致css被忽略

时间:2013-04-02 15:20:41

标签: css google-chrome iis-6 mime-types

我的页面加载正常,然后只要您点击刷新按钮,所有样式就会消失。

它似乎特定于chrome。如果我查看网络选项卡,我看到我的css文件返回304未修改,但类型已更改为text / html。在初始加载时,它是text / css。

如果我关闭缓存,一切正常。

我在here上看到了一个类似的问题,但它之前有效,我没有更改服务器。

我似乎已将其缩小到一个css文件的问题。 特别是添加背景图像。

body {background:#b4dfff url(/images/backgrounds/background.jpg) no-repeat fixed top;
text-align:left;
font-family: Helvetica, Arial, sans-serif;
color: #585858;
font-size: 12px;    
}

如果我删除背景,问题发生的频率会明显减少。 我尝试将其更改为

background-color:#b4dfff;
Background-image:url(/images/backgrounds/background.jpg) no-repeat fixed top;

不起作用

2 个答案:

答案 0 :(得分:2)

事实证明这与处理304响应的chrome有关。

Chrome要求提供内容并收到304响应,说明它未被修改。

当IIS返回304响应时,其中包含内容类型。 Chrome不会忽略内容类型和外观并看到内容类型已更改,因为IIS只返回默认类型chrome认为该文件不再是样式表而且不会加载它。

因此,为了解决这个问题,我们每次都重新加载样式表。 我还没有找到一种简单的方法来修改304响应,因此它不包含内容类型。

以下是谷歌问题 https://code.google.com/p/chromium/issues/detail?id=246875

答案 1 :(得分:1)

这里提到同样的问题:http://productforums.google.com/forum/#!topic/chrome/zID6uQQfKH8 这似乎是一个临时解决方案

  

关闭ETag并在HTTP标头中设置no-cache。