jQuery 是如何判断HTML页面加载完毕的.它的原理是什么? 请高手指点迷津..
3个回答
展开全部
这个问题我之前刚看过。
他用的不是window.onload
$(document).ready是在页面加载完毕时执行回调
而window.onload是在页面全部加载完成时,包括一些资源比如图片。
所以window.onload比$(document).ready更延后一些。
window.onload自然不必说,是浏览器自身支持的。
但是$(document).ready我看了一下源代码。
他根据的是document.documentElement对象去判断的。
他每次调用document.documentElement.scrollLeft方法
如果此方法产生了异常,就说明scrollLeft无法执行,此时页面还未加载完成,
所以他就用try块包含这条语句,然后catch住,用setTimeout方法,重新执行一遍。
直到scrollLeft可以执行时,就说明页面加载完成了,此时再去回调。
很有意思。
他用的不是window.onload
$(document).ready是在页面加载完毕时执行回调
而window.onload是在页面全部加载完成时,包括一些资源比如图片。
所以window.onload比$(document).ready更延后一些。
window.onload自然不必说,是浏览器自身支持的。
但是$(document).ready我看了一下源代码。
他根据的是document.documentElement对象去判断的。
他每次调用document.documentElement.scrollLeft方法
如果此方法产生了异常,就说明scrollLeft无法执行,此时页面还未加载完成,
所以他就用try块包含这条语句,然后catch住,用setTimeout方法,重新执行一遍。
直到scrollLeft可以执行时,就说明页面加载完成了,此时再去回调。
很有意思。
展开全部
jquery在
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。
$(document).ready()是向window.load事件注册事件的替代方法
即利用window.load事件.你读一下jquery的源代码就可以看到.
window.addEventListener( "load", jQuery.ready, false );
注:我读的是jquery1.6版本的源码.
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。
$(document).ready()是向window.load事件注册事件的替代方法
即利用window.load事件.你读一下jquery的源代码就可以看到.
window.addEventListener( "load", jQuery.ready, false );
注:我读的是jquery1.6版本的源码.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-11-19
展开全部
通过浏览器判断的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询