溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用async屬性異步加載執(zhí)行js的方法

發(fā)布時間:2020-06-18 09:33:22 來源:億速云 閱讀:246 作者:Leah 欄目:web開發(fā)

如何用async屬性異步加載執(zhí)行js的方法?相信很多新手小白還沒學(xué)會這個技能,通過這篇文章的總結(jié),希望你能學(xué)會這個技能。以下資料是實現(xiàn)的步驟。

HTML5讓我興奮的一個最大的原因是,它里面實現(xiàn)的新功能和新特征都是我們長久以來一直期待的。比如,我以前一直在使用placeholders,但以前必須要用JavaScript實現(xiàn)。而HTML5里給JavaScript標(biāo)記提供的async屬性,使JavaScript能異步加載執(zhí)行。之前我需要各種的JavaScript插件來實現(xiàn)這種功能,但現(xiàn)在這個新屬性能讓我們輕松的實現(xiàn)異步加載。

async – HTML代碼

真的非常簡單,就像下面這樣:

<script async src="siteScript.js" onload="myInit()"></script>

事實上,如果你是個有嚴(yán)謹(jǐn)精神的程序員,你應(yīng)該在你90%以上的SCRIPT標(biāo)記上使用async屬性。

defer – HTML代碼

還有一個跟async屬性相似的defer屬性:

<script defer src="siteScript.js" onload="myInit()"></script>

async屬性的在語法上非常相似。

async & defer – 不同之處

這篇WebKit博客將deferasync之間的不同之處解釋的非常清楚:

瀏覽器對標(biāo)記有async屬性或defer屬性的scripts會立即加載并解析,同時也會支持依賴于這個腳本進(jìn)行初始化的onload事件。async屬性和defer屬性的不同之處在于何時執(zhí)行這個腳本。標(biāo)注有async屬性的Script會在下載完成后即可執(zhí)行,不需要等待window的load事件。這意味著標(biāo)記有async屬性的腳本并不一定會按在頁面中嵌入的順序執(zhí)行。而標(biāo)記有defer屬性的腳本卻一定會按它們在頁面上的順序依次執(zhí)行。執(zhí)行會在解析完全完成后開始,但會在document的DOMContentLoaded事件之前。

支持 async 和 defer 屬性的瀏覽器有哪些?

引用Safari博客上的話:

WebKit引擎的瀏覽器(谷歌瀏覽器和Safari瀏覽器)?;鸷鼮g覽器從3.6版開始支持async 和 defer 屬性。IE也很早就支持 defer 屬性,但對async屬性不支持,在IE9中支持onload屬性。

async 太有用了!

看到各瀏覽器實現(xiàn)async功能著實讓我非常高興。瀏覽器網(wǎng)站頁面時被JavaScript卡住的確是個很大的問題,async屬性的異步加載、執(zhí)行能力一定會讓網(wǎng)站的頁面速度增色不少。

看完這篇文章,你們學(xué)會用async屬性異步加載執(zhí)行js的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI