各瀏覽器對(duì)link標(biāo)簽onload/onreadystatechange事件支持的差異分析
<!DOCTYPE HTML>
<HTML>
<HEAD>
<meta charset="utf-8" />
<title>Link Element onload</title>
<link type="text/css" rel="stylesheet" onload="alert(this)"/>
</HEAD>
<BODY>
</BODY>
</HTML>
IE6/7 :
IE8/9 :
Opera :
即IE6/7/8/9/Opera都支持onload事件, Firefox/Safari/Chrome不支持。
注:用JS創(chuàng)建link標(biāo)簽再添加到head中,情況如上。
2,onreadystatechange事件
<!DOCTYPE HTML>
<HTML>
<HEAD>
<meta charset="utf-8" />
<title>Link Element onreadystatechange</title>
<link type="text/css" rel="stylesheet" onreadystatechange="alert(this)"/>
</HEAD>
<BODY>
</BODY>
</HTML>
IE6/7/8/9中彈出了兩次,其它瀏覽器均沒(méi)有彈。說(shuō)明只有IE支持link元素的onreadystatechange事件。彈出兩次分別是readyState為loading,complete狀態(tài)??墒褂胷eadyState來(lái)判斷載入情況。我們?cè)偈褂肑S動(dòng)態(tài)創(chuàng)建link元素試試,
<!DOCTYPE HTML>
<HTML>
<HEAD>
<meta charset="utf-8" />
<title>Link Element onreadystatechange</title>
</HEAD>
<BODY>
<script>
function createEl(type, attrs){
var el = document.createElement(type),
attr;
for(attr in attrs){
if(attrs.hasOwnProperty(attr)){
el.setAttribute(attr, attrs[attr]);
}
}
return el;
}
var link = createEl('link', {
href : 'http://i3.sinaimg.cn/rny/webface/login/css/login101021_min.css',
rel : 'stylesheet',
type : 'text/css'
});
link.onreadystatechange = function(){
alert(this)
}
document.getElementsByTagName('head')[0].appendChild(link);
</script>
</BODY>
</HTML>
IE6/7/8/9中仍然彈出了2次。Firefox/Safari/Chrome仍然沒(méi)彈。貌似一切正常,但神奇的是這次在Opera中彈出了一次,說(shuō)明Opera支持動(dòng)態(tài)創(chuàng)建link元素時(shí)的onreadystatechange事件。
相關(guān):
https://developer.mozilla.org/en/HTML/Element/link
http://msdn.microsoft.com/en-us/library/ms535848%28v=VS.85%29.aspx
http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-35143001
相關(guān)文章
BootStrap Fileinput上傳插件使用實(shí)例代碼
這篇文章主要介紹了BootStrap Fileinput上傳插件使用實(shí)例代碼,,通過(guò)引入js和css文件,具體實(shí)現(xiàn)代碼大家參考下本文2017-07-07有道JavaScript監(jiān)聽(tīng)瀏覽器的問(wèn)題
相信大家在web項(xiàng)目中,經(jīng)常會(huì)用到j(luò)avascript的事件監(jiān)聽(tīng)、事件冒泡這些東西。當(dāng)然也包括window.opener,window.showModalDialog這些父子窗口的互操作。2010-06-06