移动端 DOMcontentLoaded

onload事件是页面全都加载完毕之后触发的事件,实际上在开发中很少用这个,因为这个影响页面性能。一般都用DOMContentLoaded事件,在还没有DOMContentLoaded事件之前,有一堆模拟DOMContentLoaded事件的解决方案,jquery的ready就是其中一个。后来有了DOMContentLoaded事件,这个就是dom节点加载完毕之后就会被触发,但是这个事件存在浏览器兼容的问题,在不同的情况下,会因为一些原因等待css加载或者等待js加载之后,才会继续加载页面的dom,这样会造成阻塞,性能降低。

又看了一下资料,应该是这样的。但是仍然存在问题,就是有什么方法可以避免这些阻塞吗?还是压根不需要关注这种阻塞?

其次,想问大佬们一个有点智障的问题,那么在写移动端的时候,不存在浏览器兼容性的问题,是不是就用DOMcontentLoaded事件来判断DOM节点是否加载完毕就可以呢?同理,为一个DOM节点添加事件的话就用addEventListener就可以吗?

求大神指点!!!

阅读 2.3k
2 个回答

你所说的jQuery的ready的实现其实刚开始就是模拟的DOMcontentLoadded。之所以浏览器会有阻塞是因为,它要使渲染后的页面拥有交互行为,浏览器中的DOMcontentLoaded受css解析,以及js重新渲染dom的影响。

要看你具体应用需要在何时加载,不过类似DOMcontentLoaded的已经没有太大优化可能了,addEventListener也是这样的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题