您好,登錄后才能下訂單哦!
如何用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)異步加載。
真的非常簡單,就像下面這樣:
<script async src="siteScript.js" onload="myInit()"></script>
事實上,如果你是個有嚴(yán)謹(jǐn)精神的程序員,你應(yīng)該在你90%以上的SCRIPT
標(biāo)記上使用async
屬性。
還有一個跟async
屬性相似的defer
屬性:
<script defer src="siteScript.js" onload="myInit()"></script>
跟async
屬性的在語法上非常相似。
這篇WebKit博客將defer
和async之間
的不同之處解釋的非常清楚:
瀏覽器對標(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
事件之前。
引用Safari博客上的話:
WebKit引擎的瀏覽器(谷歌瀏覽器和Safari瀏覽器)?;鸷鼮g覽器從3.6版開始支持async 和 defer 屬性。IE也很早就支持 defer 屬性,但對async屬性不支持,在IE9中支持onload屬性。
看到各瀏覽器實現(xiàn)async
功能著實讓我非常高興。瀏覽器網(wǎng)站頁面時被JavaScript卡住的確是個很大的問題,async
屬性的異步加載、執(zhí)行能力一定會讓網(wǎng)站的頁面速度增色不少。
看完這篇文章,你們學(xué)會用async屬性異步加載執(zhí)行js的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。
免責(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)容。