在页面的DOM树创建完成后(也就是HTML解析第一步完成)即触发,而无需等待其他资源的加载,即DomReady实现策略:
1.支持DomConentLoaded事件的,就使用DomConentLoaded事件。
2.不支持的,就用Diego perint发现的著名hack兼容,兼容原理大概就是通过IE中的document.documentElement.doScroll("left");
注:IE有个特有的doScroll()方法,当页面Dom未加载完成时,调用doScroll()方法,就会报错,反过来,只要一直间隔调用doScroll方法直到不报错,那就表示Dom加载完毕。
例
/*doScroll判断ie6-8的DOM是否加载完成
*
*@param null
*@execute doScroll判断DOM是否加载完成
*@caller bindReady()
*/
function
doScroll(){
try
{
document.documentElement.doScroll(
'left'
);
}
catch
(error){
return
setTimeout(doScroll,20);
};
execFn();
};
|