[removed]方法 为什么先弹出js,然后点击确定之后,页面才加载出来

2019-04-13 17:48发布

问题:

 

window。onload不是等页面加载完成再执行吗,那么不是应该是先等页面都出来,然后再执行js吗??????

 

回答1:

1.浏览器需要一个稳定的 dom 树结构,而 js 可以改变 dom 树,比如使用 document.write,甚至使用 location.href 进行跳转,一旦发生 js 修改 dom 树的情况,浏览器就会重新构建 dom 树。
2.浏览器为了防止重新构建 dom 树的情况出现,就会阻塞呈现,等待 js 执行完成。
3.于是就出现了你看到的效果,先执行 js,再呈现 html 页面。



回答2:

加载完成是指此时可以访问页面上的任何元素



回答3:

加载完成和渲染完成不是一种情况