成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

script 標(biāo)簽的 defer 與 async

AWang / 2411人閱讀

摘要:各自的特點(diǎn)延遲腳本立即下載。規(guī)范要求腳本按照它們出現(xiàn)的先后順序執(zhí)行,并且會(huì)在事件觸發(fā)前執(zhí)行。建議異步腳本不要在加載期間修改時(shí)不支持可選表示包含要執(zhí)行代碼的外部文件。特殊操作同時(shí)使用和。瀏覽器會(huì)忽視屬性按照?qǐng)?zhí)行。

各自的特點(diǎn)

defer:延遲腳本

立即下載。不影響其他操作,如下載其他資源,HTML解析。

延遲執(zhí)行。將延遲到整個(gè)頁(yè)面都解析完畢后再運(yùn)行,也就是到瀏覽器遇到標(biāo)簽后再執(zhí)行。

理論按順序執(zhí)行,實(shí)際不是。HTML5 規(guī)范要求腳本按照它們出現(xiàn)的先后順序執(zhí)行,并且會(huì)在 DOMContentLoaded 事件觸發(fā)前執(zhí)行。但是,在現(xiàn)實(shí)中,延遲腳本并不一定會(huì)按照順序執(zhí)行,也不一定會(huì)在 DOMContentLoaded 事件觸發(fā)前執(zhí)行。(《JavaScript高級(jí)程序設(shè)計(jì)》(第三版))

最好只包含一個(gè)延遲腳本。

IE<=9時(shí)支持但會(huì)有bug

async: 異步腳本

立即下載。不影響其他操作,如下載其他資源,HTML解析。

立即執(zhí)行。下載完既執(zhí)行,暫停HTML解析。

不確定順序執(zhí)行。一定會(huì)在頁(yè)面的 load 事件前執(zhí)行,但不確定在 DOMContentLoaded 事件觸發(fā)前后執(zhí)行。

建議異步腳本不要在加載期間修改DOM

IE<=9時(shí)不支持

src : 可選表示包含要執(zhí)行代碼的外部文件。

外部JavaScript文件的.js擴(kuò)展名不是必需的,因?yàn)闉g覽器不會(huì)檢查包含JavaScript的文件的擴(kuò)展名。如果不使用.js擴(kuò)展名,請(qǐng)確保服務(wù)器能返回正確的MIME類型。

帶有src屬性的

結(jié)論

日常開(kāi)發(fā)中就都放在底部。

對(duì)于完全獨(dú)立的腳本來(lái)才去使用async。例如:Google Analytics

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104786.html

相關(guān)文章

  • Script標(biāo)簽和腳本執(zhí)行順序 - 文檔加載 - 面向?yàn)g覽器編程

    摘要:相關(guān)腳本會(huì)立即下載并執(zhí)行。從上面兩個(gè)例子,可以充分了解到標(biāo)簽的柱塞式執(zhí)行。表示該標(biāo)簽并不柱塞,也不同步執(zhí)行。屬性帶有屬性的腳本,同樣會(huì)推遲腳本的執(zhí)行,并且不會(huì)阻止文檔解析。同時(shí),帶有的腳本彼此之間,能保證其執(zhí)行順序。 原文: http://pij.robinqu.me/Browser_Scripting/Document_Loading/ScriptTag.html 源...

    cangck_X 評(píng)論0 收藏0
  • 拒絕js阻塞—deferasync作用和區(qū)別分析

    摘要:阻塞原理瀏覽器內(nèi)核可以分成兩部分渲染引擎或者和引擎。等引擎運(yùn)行完畢,瀏覽器又會(huì)把控制權(quán)還給渲染引擎,繼續(xù)和的構(gòu)建。執(zhí)行時(shí),解析暫停。從加載完成立即執(zhí)行來(lái)看,模式執(zhí)行順序與寫的順序無(wú)關(guān),不保證執(zhí)行順序。 js阻塞原理 瀏覽器內(nèi)核可以分成兩部分:渲染引擎(Layout Engine 或者 Rendering Engine)和 JS 引擎。早期渲染引擎和 JS 引擎并沒(méi)有十分明確的區(qū)分,但隨...

    wuaiqiu 評(píng)論0 收藏0
  • 重新認(rèn)識(shí)script標(biāo)簽

    摘要:盡管腳本的下載過(guò)程中不會(huì)相互影響,但頁(yè)面仍然要等到所有代碼下載并完成執(zhí)行才能繼續(xù)。 defer和asnyc(只對(duì)外部文件有效) defer 在頁(yè)面完成解析時(shí)執(zhí)行代碼,這個(gè)屬性表明腳本在執(zhí)行時(shí)不會(huì)影響頁(yè)面的構(gòu)造,在元素中設(shè)置這個(gè)屬性相當(dāng)于告訴瀏覽器立即下載但延遲執(zhí)行 async 相對(duì)于頁(yè)面其他部分異步執(zhí)行腳本,一般的script標(biāo)簽都是會(huì)阻塞頁(yè)面執(zhí)行的,沒(méi)有加上async屬性的標(biāo)簽...

    Magicer 評(píng)論0 收藏0
  • 高性能JavaScript學(xué)習(xí)筆記-執(zhí)行加載

    摘要:雖然會(huì)有阻塞但還是有幾招可以減少對(duì)性能的影響的。下載資源是異步的但是執(zhí)行代碼的時(shí)候仍是同步的同樣會(huì)造成阻塞。缺點(diǎn)文件必須與所請(qǐng)求頁(yè)面處于同一個(gè)域這種情況下文件不能從下載不適合大型的應(yīng)用。 瀏覽器在處理HTML頁(yè)面渲染和JavaScript腳本執(zhí)行的時(shí)候是單一進(jìn)程的,所以在當(dāng)瀏覽器在渲染HTML遇到了標(biāo)簽會(huì)先去執(zhí)行標(biāo)簽內(nèi)的代碼(如果是使用src屬性加載的外鏈文件,則先下載再執(zhí)行),在這個(gè)...

    fou7 評(píng)論0 收藏0
  • 帶你玩轉(zhuǎn)prefetch, preload, dns-prefetch,deferasync

    摘要:緊接著發(fā)現(xiàn),于是又停了,瀏覽器下載并執(zhí)行完,繼續(xù)。,發(fā)現(xiàn),遂將中文字展示了出來(lái)。的執(zhí)行時(shí)間是在所有元素解析完成之后,事件觸發(fā)之前。的執(zhí)行時(shí)間是在當(dāng)前腳本下載完成后,所以多個(gè)是執(zhí)行順序是不固定的。至此,完美的結(jié)構(gòu)出爐了。 現(xiàn)代瀏覽器性能優(yōu)化-JS篇 眾所周知,JS的加載和執(zhí)行會(huì)阻塞瀏覽器渲染,所以目前業(yè)界普遍推薦把script放到之前,以解決js執(zhí)行時(shí)找不到dom等問(wèn)題。但隨著現(xiàn)代瀏覽器...

    godiscoder 評(píng)論0 收藏0
  • 帶你玩轉(zhuǎn)prefetch, preload, dns-prefetch,deferasync

    摘要:緊接著發(fā)現(xiàn),于是又停了,瀏覽器下載并執(zhí)行完,繼續(xù)。,發(fā)現(xiàn),遂將中文字展示了出來(lái)。的執(zhí)行時(shí)間是在所有元素解析完成之后,事件觸發(fā)之前。的執(zhí)行時(shí)間是在當(dāng)前腳本下載完成后,所以多個(gè)是執(zhí)行順序是不固定的。至此,完美的結(jié)構(gòu)出爐了。 現(xiàn)代瀏覽器性能優(yōu)化-JS篇 眾所周知,JS的加載和執(zhí)行會(huì)阻塞瀏覽器渲染,所以目前業(yè)界普遍推薦把script放到之前,以解決js執(zhí)行時(shí)找不到dom等問(wèn)題。但隨著現(xiàn)代瀏覽器...

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

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

0條評(píng)論

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