IE条件评论会减慢页面加载吗?

时间:2009-12-01 10:48:24

标签: html css internet-explorer conditional-comments

我最近有足够的时间讨论过“CSS hacks”和“Conditional Comments”这个问题,我认为我会把这个问题抛给Stack Overflow社区。

<!--[if IE]>
 <link type="text/css" rel="stylesheet" href="ie-specific.css" /> 
<![endif]-->

使用IE条件注释的反对的主要参数似乎是您在每个页面加载上添加了额外的HTTP请求,从而减慢了页面的显示速度。我没有能够找到的是任何真实世界的指标,证明或反驳了这一陈述。

不考虑维护多个样式表与一个样式表的论点(尽管这本身就是一个有效的讨论),有没有人在这里做任何测试来确定使用条件注释给你带来多少减速,或者是能指出我对其他人收集的任何统计数据的方向吗?

1 个答案:

答案 0 :(得分:7)

这不是真正关于条件评论本身,它就像条件编译。

IE浏览器会将您的页面视为包含

<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 

(通过一些额外的处理来评估评论条件)。

非IE浏览器只会在那里看到评论。

所以唯一潜在的性能影响是IE浏览器需要评估条件评论条件(这可以忽略不计),然后将包含另一个CSS文件。当然,其他浏览器只看到通用文件并完全忽略评论。

接下来的问题是服务IE的优缺点是什么(比如说)符合5Kb标准的CSS文件,然后是(比方说)2Kb“hacks”文件,让其他人只得到5Kb文件; vs为每个人提供一个带有狡猾的CSS的7Kb文件。根据各种因素,包括网络速度和延迟,文件大小,整体页面上使用的资源数量等,这可能会或可能不会对IE案例中的性能产生显着影响(毫无疑问会更快)对于非IE用户代理)。

与所有性能问题一样,您必须在您的环境中对您的代码进行分析才能看到影响是什么 - 但作为一般指导原则,我预计IE的影响可以忽略不计,所有其他浏览器的性能小幅提升,以及能够在实际文件中编写“正确”CSS然后单独修复IE的模糊感觉。