我们知道,HTML为了加载一个外部的css文件,经常会用到一个link的元素,具体的用法如下:
<link rel="stylesheet" rev="stylesheet" href="xxx.css" type="text/css" media="screen" />
并且浏览器对css的加载是阻塞式的下载,在对应的外部css文件没有load完之前,下面的parse将会被阻塞住,但我们会发现,在部分的
页面有类似这样的用法:
<link rel="stylesheet" rev="stylesheet" href="xxx.css" type="text/css" media="screen" οnlοad="javascript:alert('onload link done')"/>
经tenfy在IE,firefox,opera,chrome,safari下测试,发现:
一,link元素的onload属性在IE和opera下均支持,目的是为了提供用户一个css加载完毕后的回调处理接口。
但发现IE和opera再回调次数是不一样的,IE下,如果对应的css有import其他的css文件,会导致多次调用onload,
测试中发现,css里面即使是多次import,IE也只会回调onload两次,而不是每import一次就多调用一次onload,比较有意思!
而opera只会调用一次onload方法。
二,firefox,chrome和safari的link不支持onload属性。
三,onload属性本身不是xhml的标准属性
四,即使IE和opera均有onload属性,但其对css文件的加载仍然是阻塞式下载的,所以我们对css加载时间的测试,都可以放到css文件的后面执行脚本采集也是ok的。