點(diǎn)評(píng)js異步加載的4種方式
js異步加載的4種方式,點(diǎn)評(píng)開始。
方案1:$(document).ready
<!DOCTYPE html> <html> <head> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { alert("加載完成!"); }); </script> </head> <body> <img src="http://images.cnitblog.com/i/121863/201405/222202573569862.jpg" /> </body> </html>
點(diǎn)評(píng):
1、需要引用jquery
2、兼容所有瀏覽器。
方案2:<script>標(biāo)簽的async="async"屬性
async的定義和用法(是HTML5的屬性)
async 屬性規(guī)定一旦腳本可用,則會(huì)異步執(zhí)行。
示例:
<script type="text/javascript" src="xxxxxxx.js" async="async"></script>
點(diǎn)評(píng):
1、HTML5中新增的屬性,Chrome、FF、IE9&IE9+均支持(IE6~8不支持)。此外,這種方法不能保證腳本按順序執(zhí)行。
2、async 屬性僅適用于外部腳本(只有在使用 src 屬性時(shí))。
方案3:<script>標(biāo)簽的defer="defer"屬性
defer 屬性規(guī)定是否對(duì)腳本執(zhí)行進(jìn)行延遲,直到頁面加載為止。
有的 javascript 腳本 document.write 方法來創(chuàng)建當(dāng)前的文檔內(nèi)容,其他腳本就不一定是了。
如果您的腳本不會(huì)改變文檔的內(nèi)容,可將 defer 屬性加入到 <script> 標(biāo)簽中,以便加快處理文檔的速度。因?yàn)闉g覽器知道它將能夠安全地讀取文檔的剩余部分而不用執(zhí)行腳本,它將推遲對(duì)腳本的解釋,直到文檔已經(jīng)顯示給用戶為止。
示例:
<script type="text/javascript" defer="defer"> alert(document.getElementById("p1").firstChild.nodeValue); </script>
點(diǎn)評(píng):兼容所有瀏覽器。此外,這種方法可以確保所有設(shè)置defer屬性的腳本按順序執(zhí)行。
方案4:動(dòng)態(tài)創(chuàng)建<script>標(biāo)簽
示例:
<!DOCTYPE html> <html> <head> <script type="text/javascript"> (function(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = "http://code.jquery.com/jquery-1.7.2.min.js"; var tmp = document.getElementsByTagName('script')[0]; tmp.parentNode.insertBefore(s, tmp); })(); </script> </head> <body> <img src="http://images.cnitblog.com/i/121863/201405/222202573569862.jpg" /> </body> </html>
點(diǎn)評(píng):兼容所有瀏覽器。
以上就是針對(duì)js異步加載的4種方式進(jìn)行的區(qū)分介紹,希望對(duì)大家的學(xué)習(xí)js異步加載有所幫助。
相關(guān)文章
JavaScript實(shí)現(xiàn)復(fù)選框全選功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)復(fù)選框全選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04通過高德地圖API獲得某條道路上的所有坐標(biāo)用于描繪道路的方法
這篇文章主要介紹了通過高德地圖API獲得某條道路上的所有坐標(biāo)用于描繪道路的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08淺談js之字面量、對(duì)象字面量的訪問、關(guān)鍵字in的用法
下面小編就為大家?guī)硪黄獪\談js之字面量、對(duì)象字面量的訪問、關(guān)鍵字in的用法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11js遍歷獲取表格內(nèi)數(shù)據(jù)的方法(必看)
下面小編就為大家?guī)硪黄猨s遍歷獲取表格內(nèi)數(shù)據(jù)的方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04echarts使用中關(guān)于y坐標(biāo)軸無法正常顯示的問題解決記錄
Echarts是由百度提供的數(shù)據(jù)可視化解決方案,下面這篇文章主要給大家介紹了關(guān)于echarts使用中關(guān)于y坐標(biāo)軸無法正常顯示的問題解決記錄,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12