【发布时间】:2011-09-12 18:21:46
【问题描述】:
如果我使用不受支持的媒体类型 ("bork") 指定 CSS 链接,它仍然会被我尝试过的每个浏览器(包括桌面浏览器和多个移动浏览器)下载。
<link href="bork.css" media="bork" rel="stylesheet" type="text/css" />
而且情况变得更糟......
如果文件 bork.css @imports 是另一个 CSS 文件(也具有不受支持的媒体类型),那么第二个 CSS 文件也会被下载。
/* Inside "bork.css" */
@import url("bork2.css") bork, bork;
为什么!?
我的第一个假设是某些浏览器可能会搜索嵌套的 @imports 或 @media 块及其支持的媒体类型 - 然后应用这些文件中包含的样式规则...
/* Inside "bork2.css" */
@import url("all.css");
@media all {
/* rules */
}
...但据我所知,没有一个浏览器可以做到这一点。 (幸运的是,这将是一个错误。)
所以所有这些下载似乎都是多余的 - 除非有一些我一直错过的解释。
编辑:我想了解的是,它促使浏览器制造商去:
“嘿!我们正在努力让我们的浏览器快速疯狂!让我们下载一个一堆我们无意应用的 CSS 文件,同时停止加载其他资源!”
【问题讨论】:
-
webmasterworld.com/forum83/7981.htm 确定不是缓存问题?
-
绝对确定!不涉及缓存。
-
您的意思是浏览器决定 忽略
media属性,直到它们执行了不必要的HTTP 请求。是的,但是为什么他们会这样做? -
我的问题是页面加载速度和带宽使用情况(尤其是在缓慢而昂贵的移动网络上)
-
打印媒体样式表也被加载。似乎没有个例外。
标签: css