如何動態(tài)加載外部Javascript文件
最近在網(wǎng)上找到了一個可以動態(tài)加載js文件的js加載器,具體代碼如下:
JsLoader.js
var MiniSite=new Object(); /** * 判斷瀏覽器 */ MiniSite.Browser={ ie:/msie/.test(window.navigator.userAgent.toLowerCase()), moz:/gecko/.test(window.navigator.userAgent.toLowerCase()), opera:/opera/.test(window.navigator.userAgent.toLowerCase()), safari:/safari/.test(window.navigator.userAgent.toLowerCase()) }; /** * JsLoader對象用來加載外部的js文件 */ MiniSite.JsLoader={ /** * 加載外部的js文件 * @param sUrl 要加載的js的url地址 * @fCallback js加載完成之后的處理函數(shù) */ load:function(sUrl,fCallback){ var _script=document.createElement('script'); _script.setAttribute('charset','gbk'); _script.setAttribute('type','text/javascript'); _script.setAttribute('src',sUrl); document.getElementsByTagName('head')[0].appendChild(_script); if(MiniSite.Browser.ie){ _script.onreadystatechange=function(){ if(this.readyState=='loaded'||this.readyStaate=='complete'){ //fCallback(); if(fCallback!=undefined){ fCallback(); } } }; }else if(MiniSite.Browser.moz){ _script.onload=function(){ //fCallback(); if(fCallback!=undefined){ fCallback(); } }; }else{ //fCallback(); if(fCallback!=undefined){ fCallback(); } } } };
JsLoader.js測試
<!DOCTYPE HTML> <html> <head> <!--引入js加載器 --> <script type="text/javascript" src="js/JsLoader.js"></script> <title>JsLoaderTest.html</title> <script type="text/javascript"> if(MiniSite.Browser.ie){ //動態(tài)加載Js MiniSite.JsLoader.load("js/jquery-1.9.1.js",function(){ alert("動態(tài)加載的是jquery-1.9.1.js"); $(function(){ alert("jquery-1.9.1.js動態(tài)加載完成之后做的處理操作"); }); }); }else{ MiniSite.JsLoader.load("js/jquery-2.0.3.js",function(){ alert("動態(tài)加載的是jquery-2.0.3.js"); $(function(){ alert("jquery-2.0.3.js動態(tài)加載完成之后做的處理操作"); }); }); } </script> </head> <body> </body> </html>
測試結(jié)果如下:
IE瀏覽器下測試結(jié)果:
google瀏覽器下的測試結(jié)果:
為大家分享的如何使用js加載器動態(tài)加載外部Javascript文件,相信一定會對大家的學(xué)習(xí)有很大的幫助。
相關(guān)文章
超級簡單實現(xiàn)JavaScript MVC 樣式框架
本文給大家分享的是一則翻譯過來的,由國外友人寫的如何簡單有效的實現(xiàn)javascript MVC樣式框架,算是一個MVC的入門教程,希望大家能夠喜歡。2015-03-03Javascript(AJAX)解析XML的代碼(兼容FIREFOX/IE)
Javascript AJAX 解析XML的代碼(兼容FIREFOX/IE)2010-07-07JavaScript判斷訪問的來源是手機還是電腦,用的哪種瀏覽器
這篇文章主要介紹了使用JavaScript判斷訪問的來源是手機還是電腦,用的哪種瀏覽器。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12Javascript?promise.all的用法介紹(簡潔易懂)
這篇文章主要給大家介紹了關(guān)于Javascript?promise.all用法的相關(guān)資料,Promise.all()方法是一個Promise對象方法,可以將多個Promise實例包裝成一個新的Promise對象,最終返回一個數(shù)組,需要的朋友可以參考下2023-07-07