我的页面加载正常,然后只要您点击刷新按钮,所有样式就会消失。
好像是chrome特有的。如果我查看网络选项卡,我会看到我的 css 文件返回 304 未修改,但类型已更改为文本/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;
那没用
最佳答案
事实证明这与 chrome 处理 304 响应有关。
Chrome 请求内容并收到 304 响应,表示内容未修改。
当 IIS 返回 304 响应时,它包含内容类型。 Chrome 不会忽略内容类型,并且会查看内容类型已更改,因为 IIS 仅返回默认类型,Chrome 认为该文件不再是样式表并且不会加载它。
因此,为了解决这个问题,我们让它每次都重新加载样式表。 我还没有想出一种简单的方法来修改 304 响应,使其不包含内容类型。
这是谷歌问题 https://code.google.com/p/chromium/issues/detail?id=246875
关于css - 页面刷新导致css被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767917/