国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

資源加載和頁(yè)面事件

lakeside / 2594人閱讀

摘要:如果添加了屬性,那么和的時(shí)間差取決于的下載和執(zhí)行時(shí)間。表示告訴瀏覽器,這段在后執(zhí)行。一旦執(zhí)行完,就會(huì)觸發(fā)如果屬性為,那么和又幾乎沒(méi)什么區(qū)別了,因?yàn)榈慕馕霾粫?huì)阻塞,也不阻塞事件。頁(yè)面上的元素已經(jīng)加載完畢了。動(dòng)態(tài)插入的圖片會(huì)阻塞事件,不會(huì)。

domLoading

瀏覽器開始解析dom樹的時(shí)間點(diǎn)

domInteractive

表示瀏覽器已經(jīng)解析好dom樹了。

domContentLoaded

同步的JS已經(jīng)執(zhí)行完畢了。

這里需要再解釋一點(diǎn):

由于同步JS會(huì)阻塞Dom的解析,因此在有同步JS的情況下,domInteractive和domContentLoaded的區(qū)別不大。

如果JS添加了defer屬性,那么domInteractive和domContentLoaded的時(shí)間差取決于JS的下載和執(zhí)行時(shí)間。defer JS表示告訴瀏覽器,這段JS在domInteractive后執(zhí)行。見http://www.w3.org/TR/html5/syntax.html#the-end 。一旦執(zhí)行完defer JS,就會(huì)觸發(fā)domContentLoaded.

如果JS屬性為async,那么domContentLoaded和domInteractive又幾乎沒(méi)什么區(qū)別了,因?yàn)閖s的解析不會(huì)阻塞dom,也不阻塞domContentLoad事件。

onload

頁(yè)面上的元素已經(jīng)加載完畢了。包括所有CSS, JS, Image等等。

一些小實(shí)驗(yàn)

以下示例均采用blocking做實(shí)驗(yàn),可以訪問(wèn)在線版。

疑問(wèn)1:同步的JS通過(guò)document.write寫入JS script會(huì)不會(huì)延遲DomContentLoaded?

結(jié)論:會(huì)。從例子中可以看到,DomContentLoaded必須等到同步寫入的JS文件寫完才觸發(fā)。

代碼:





  
  {{flush 1000}}
  

Hello World

時(shí)間線:

疑問(wèn)2: 同步的JS動(dòng)態(tài)插入defer JS會(huì)不會(huì)延遲DomContentLoaded?

結(jié)論:不會(huì)延遲comContentLoaded,但會(huì)阻塞onload的時(shí)間。需要補(bǔ)充的是,即便是動(dòng)態(tài)插入沒(méi)有defer的JS,也不會(huì)延遲DomContentLoaded.

對(duì)于如下代碼:





  
  {{flush 1000}}
  

Hello World

時(shí)間線如下:(藍(lán)色為主文檔,黃線為JS文件)

疑問(wèn)3:如果在domContentLoaded的時(shí)刻動(dòng)態(tài)插入(同步/defer/async)的script,會(huì)不會(huì)阻塞onload事件?

結(jié)論:(同步/defer/async)均會(huì)阻塞onload事件。

代碼(以defer為例):




  


  
  {{flush 1000}}
  

Hello World

時(shí)間線:

  

上面的兩個(gè)小實(shí)驗(yàn)應(yīng)證的是規(guī)范中的:Spin the event loop until the set of scripts that will execute as soon as possible and the list of scripts that will execute in order as soon as possible are empty.

疑問(wèn)三:如果在domContentLoaded時(shí)動(dòng)態(tài)插入CSS/圖片/iframe,會(huì)阻塞onload事件嗎?

結(jié)論:會(huì)阻塞。動(dòng)態(tài)插入的圖片/CSS會(huì)阻塞onload事件,iframe不會(huì)。

代碼(以image為例):











  {{flush 1000}}


Hello World

結(jié)果:

【更多待補(bǔ)充...】

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/49539.html

相關(guān)文章

  • 頁(yè)面生命周期:DOMContentLoaded, load, beforeunload, unloa

    摘要:所以有可能在所有腳本執(zhí)行完畢后觸發(fā)。如果用戶即將離開頁(yè)面或者關(guān)閉窗口時(shí),事件將會(huì)被觸發(fā)以進(jìn)行額外的確認(rèn)。狀態(tài)表示事件即將被觸發(fā)。總結(jié)頁(yè)面事件的生命周期事件在樹構(gòu)建完畢后被觸發(fā),我們可以在這個(gè)階段使用去訪問(wèn)元素。 頁(yè)面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....

    lx1036 評(píng)論0 收藏0
  • 頁(yè)面生命周期:DOMContentLoaded, load, beforeunload, unloa

    摘要:所以有可能在所有腳本執(zhí)行完畢后觸發(fā)。如果用戶即將離開頁(yè)面或者關(guān)閉窗口時(shí),事件將會(huì)被觸發(fā)以進(jìn)行額外的確認(rèn)。狀態(tài)表示事件即將被觸發(fā)。總結(jié)頁(yè)面事件的生命周期事件在樹構(gòu)建完畢后被觸發(fā),我們可以在這個(gè)階段使用去訪問(wèn)元素。 頁(yè)面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....

    luckyyulin 評(píng)論0 收藏0
  • 淺談DOMContentLoaded事件及其封裝方法

    摘要:事件雖然不支持,但它支持事件,該事件的目的是提供與文檔或元素的加載狀態(tài)有關(guān)的信息。事件可以用于檢測(cè)是否加載完畢,當(dāng)時(shí),表示加載完成。封裝事件以下,是封裝事件從而達(dá)到良好的兼容性的一個(gè)簡(jiǎn)單的代碼實(shí)現(xiàn)。 我們?cè)陂_發(fā)時(shí),經(jīng)常需要檢測(cè)頁(yè)面是否加載完畢,以確保腳本安全運(yùn)行,下面我們就來(lái)淺談一下檢測(cè)頁(yè)面是否加載完畢的那些事件們。 1. onload 事件 在頁(yè)面的所有資源加載完成時(shí),window對(duì)...

    waruqi 評(píng)論0 收藏0
  • 淺談DOMContentLoaded事件及其封裝方法

    摘要:事件雖然不支持,但它支持事件,該事件的目的是提供與文檔或元素的加載狀態(tài)有關(guān)的信息。事件可以用于檢測(cè)是否加載完畢,當(dāng)時(shí),表示加載完成。封裝事件以下,是封裝事件從而達(dá)到良好的兼容性的一個(gè)簡(jiǎn)單的代碼實(shí)現(xiàn)。 我們?cè)陂_發(fā)時(shí),經(jīng)常需要檢測(cè)頁(yè)面是否加載完畢,以確保腳本安全運(yùn)行,下面我們就來(lái)淺談一下檢測(cè)頁(yè)面是否加載完畢的那些事件們。 1. onload 事件 在頁(yè)面的所有資源加載完成時(shí),window對(duì)...

    leon 評(píng)論0 收藏0
  • 這么多前端優(yōu)化點(diǎn)你都記得住嗎?

    摘要:不推薦移動(dòng)端瀏覽器前端優(yōu)化策略相對(duì)于桌面端瀏覽器,移動(dòng)端瀏覽器上有一些較為明顯的特點(diǎn)設(shè)備屏幕較小新特性兼容性較好支持一些較新的和特性需要與應(yīng)用交互等。 GitHub鏈接:https://github.com/zwwill/blo... 圍繞前端的性能多如牛毛,涉及到方方面面,以我我們將圍繞PC瀏覽器和移動(dòng)端瀏覽器的優(yōu)化策略進(jìn)行羅列注意,是羅列不是展開,遇到不會(huì)不懂的點(diǎn)還請(qǐng)站外擴(kuò)展 開車...

    ysl_unh 評(píng)論0 收藏0
  • 這么多前端優(yōu)化點(diǎn)你都記得住嗎?

    摘要:不推薦移動(dòng)端瀏覽器前端優(yōu)化策略相對(duì)于桌面端瀏覽器,移動(dòng)端瀏覽器上有一些較為明顯的特點(diǎn)設(shè)備屏幕較小新特性兼容性較好支持一些較新的和特性需要與應(yīng)用交互等。 GitHub鏈接:https://github.com/zwwill/blo... 圍繞前端的性能多如牛毛,涉及到方方面面,以我我們將圍繞PC瀏覽器和移動(dòng)端瀏覽器的優(yōu)化策略進(jìn)行羅列注意,是羅列不是展開,遇到不會(huì)不懂的點(diǎn)還請(qǐng)站外擴(kuò)展 開車...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<