请问老师一个问题
DOMContentLoaded是不是就是DOMReady?想要优化页面提高用户体验,目前学的是不是就只有现在讲的DOMReady和window.onload?有些浏览器不支持DOMReady就需要用Hack兼容?
15
收起
正在回答
1回答
同学你好,问题解答如下:
没错, DOMContentLoaded就是dom内容加载完毕。因为把js代码放在head中,代码顺序执行,当页面在浏览器中打开时,会先执行js代码,再执行body里面的dom结构。如果js执行时要获取body中的元素,那么就会报错,因为页面的结构还没有加载进来。所以老师封装了一个DOMReady,就是解决这个问题,让页面结构加载完毕再执行js。
window.onload也可以实现此效果。区别是DOMReady不会等待图片加载,假如页面结构中有一个很大的图片,加载的时间过长。那么页面结构会继续往下加载。而window.onload是要等待图片加载完毕之后,才会继续加载下面的结构。
后面讲到jQuery,也有一个方法 ,即$(document).ready(function(){}) ,与DOMReady实现的效果一样。
这里只是为了方便讲解,才封装了一个方法,后续学到了jQuery,直接使用$(document).ready(function(){}) 即可。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星