當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
用手动创建新的script标签的方式,实现JavaScript脚本的异步加载
生活随笔
收集整理的這篇文章主要介紹了
用手动创建新的script标签的方式,实现JavaScript脚本的异步加载
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼第四行里新建一個(gè)script標(biāo)簽頁(yè),在第8行的回調(diào)函數(shù)onreadystatechange里,根據(jù)屬性readyState判斷當(dāng)前標(biāo)簽頁(yè)的狀態(tài),如果為loaded或者complete,說(shuō)明腳本加載成功,此時(shí)觸發(fā)腳本加載人員指定的回調(diào)函數(shù)。
該加載器的完整代碼實(shí)現(xiàn)如下:
<html> <script> function loadScript(url, callback){var script = document.createElement ("script") ;script.type = "text/javascript";if (script.readyState){ //IEscript.onreadystatechange = function(){if (script.readyState == "loaded" || script.readyState == "complete"){script.onreadystatechange = null;callback(); } // end of readyState}; // end of onreadystatechange} // end of IE else { script.onload = function(){ callback();}; }script.src = url;document.getElementsByTagName("head")[0].appendChild(script); }loadScript("026_test.js", function(){ console.log("File is loaded!"); hello(); }); </script> </html>新建一個(gè)測(cè)試腳本文件,命名為test.js:
function hello() {console.log("hello world"); }使用下列代碼加載該腳本,加載成功后,回調(diào)函數(shù)打印出File is loaded的消息,同時(shí)被加載腳本test.js里的函數(shù)hello被調(diào)用,打印出hello world:
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的用手动创建新的script标签的方式,实现JavaScript脚本的异步加载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2023年农历一月份适合嫁娶的好日子 二
- 下一篇: 80行JavaScript代码实现的贪食