鍍金池/ 問答/HTML/ 移動(dòng)端 DOMcontentLoaded

移動(dòng)端 DOMcontentLoaded

onload事件是頁(yè)面全都加載完畢之后觸發(fā)的事件,實(shí)際上在開發(fā)中很少用這個(gè),因?yàn)檫@個(gè)影響頁(yè)面性能。一般都用DOMContentLoaded事件,在還沒有DOMContentLoaded事件之前,有一堆模擬DOMContentLoaded事件的解決方案,jquery的ready就是其中一個(gè)。后來有了DOMContentLoaded事件,這個(gè)就是dom節(jié)點(diǎn)加載完畢之后就會(huì)被觸發(fā),但是這個(gè)事件存在瀏覽器兼容的問題,在不同的情況下,會(huì)因?yàn)橐恍┰虻却齝ss加載或者等待js加載之后,才會(huì)繼續(xù)加載頁(yè)面的dom,這樣會(huì)造成阻塞,性能降低。

又看了一下資料,應(yīng)該是這樣的。但是仍然存在問題,就是有什么方法可以避免這些阻塞嗎?還是壓根不需要關(guān)注這種阻塞?

其次,想問大佬們一個(gè)有點(diǎn)智障的問題,那么在寫移動(dòng)端的時(shí)候,不存在瀏覽器兼容性的問題,是不是就用DOMcontentLoaded事件來判斷DOM節(jié)點(diǎn)是否加載完畢就可以呢?同理,為一個(gè)DOM節(jié)點(diǎn)添加事件的話就用addEventListener就可以嗎?

求大神指點(diǎn)?。?!

回答
編輯回答
做不到

你所說的jQuery的ready的實(shí)現(xiàn)其實(shí)剛開始就是模擬的DOMcontentLoadded。之所以瀏覽器會(huì)有阻塞是因?yàn)?,它要使渲染后的?yè)面擁有交互行為,瀏覽器中的DOMcontentLoaded受css解析,以及js重新渲染dom的影響。

2018年8月5日 11:40
編輯回答
怣人

要看你具體應(yīng)用需要在何時(shí)加載,不過類似DOMcontentLoaded的已經(jīng)沒有太大優(yōu)化可能了,addEventListener也是這樣的

2017年9月28日 11:26