他用的不是window.onload
$(document).ready是在页面加载完毕时执行回调
而window.onload是在页面全部加载完成时,包括一些资源比如图片。
所以window.onload比$(document).ready更延后一些。
window.onload自然不必说,是浏览器自身支持的。
但是$(document).ready偶看了一下源代码。
他根据的是document.documentElement对象去判断的。
他每次调用document.documentElement.scrollLeft方法
如果此方法产生了异常,就说明scrollLeft无法执行,此时页面还未加载完成,
所以他就用try块包含这条语句,然后catch住,用setTimeout方法,重新执行一遍。
直到scrollLeft可以执行时,就说明页面加载完成了,此时再去回调。
很有意思。
如何解决用js判断页面是否加载完成代码实例:示例如下,将下面信息复制保存成.html文件即可浏览到效果…
<htmlxmlns=”/1999/xhtml”>
<head>
<metahttp-equiv=”Content-Type”content=”text/html;charset=utf-8″/>
<title>解决js判断页面是否加载完成代码实例</title>
<scripttype=”text/javascript”>
varttd=null;
document.onreadystatechange=subSomething;//当页面加载状态改变的时候执行这个方法.
functionsubSomething(){
//if(document.readyState==”complete”&&window.parent.frames[“框架名”].document.readyState==”complete”)//当页面加载状态为完全结束时进入
//myform.submit();//这是你的操作
if(document.readyState==”complete”){
//alert(“当前页面已加载完成!”);
box=document.getElementById(“box”);//当页面加载完成后获得该元素对象
alert(box.value);
}
}
</script>
</head>
<body>
<div><inputtype=”text”value=”加载完成读取该元素值”id=”box”/></div>
</body>
</html>
如果觉得《jQuery是如何判断HTML页面加载完毕的?它的原理是什么? html 加入qq群》对你有帮助,请点赞、收藏,并留下你的观点哦!