Answers
看怎么来解释
内容
这两个字。
对于页面来说,
dom
结构,样式,脚本也属于内容,页面内的图片文字视频音频也是内容。
那么我们常用的
window.onload
和
jquery
中的
ready
函数就能判断内容是否全部加载完成吗?答案是
否定
的。以上两个只能判定页面骨架加载完成了,但是不能判定页面资源是否加载完成,比如页面的超大图片,视频等。还有如果是有异步请求的资源等都无法检测到的,尤其是在
onload
之后发生的请求。
那么1楼上说的
onreadystatechange
回调是否可以处理呢?貌似也不行,原因看这里
onreadystatechange 事件-w3school
.
文中很明确的解释了,每当有请求发生时
readyState
都会改变并触发
onreadystatechange
那么问题来了,什么时候知道所有的请求都加载完了?尤其是耗时特长的的资源加载?
所以,总结一下就是:我们为什么要检测全部的内容加载完毕这个奇怪的需求呢?如果你需要动态处理
dom
那么在
onload|ready
中就可以了,因为此时页面
dom
已经加载完成了。如果你需要对某些异步的请求做监控,则只需要在对应的异步中添加上回调即可。
有误之处欢迎讨论
以上。
这种问题自己多百度查查:
http://bbs.csdn.net/topics/350132930
document.onreadystatechange = subSomething;//当页面加载状态改变的时候执行这个方法.
function subSomething()
{
if(document.readyState == “complete”) //当页面加载状态
myform.submit(); //表单提交
}