如何动态加载外部Javascript文件


Posted in Javascript onDecember 02, 2015

最近在网上找到了一个可以动态加载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加载完成之后的处理函数
  */
 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){
   //动态加载Js
   MiniSite.JsLoader.load("js/jquery-1.9.1.js",function(){
    alert("动态加载的是jquery-1.9.1.js");
    $(function(){
     alert("jquery-1.9.1.js动态加载完成之后做的处理操作");
    });
   }); 
  }else{
   MiniSite.JsLoader.load("js/jquery-2.0.3.js",function(){
    alert("动态加载的是jquery-2.0.3.js");
    $(function(){
     alert("jquery-2.0.3.js动态加载完成之后做的处理操作");
    });
   });
  }
 </script>
 </head>
 
 <body>
 
 </body>
</html>

测试结果如下:

IE浏览器下测试结果:

如何动态加载外部Javascript文件

如何动态加载外部Javascript文件

google浏览器下的测试结果:

如何动态加载外部Javascript文件

如何动态加载外部Javascript文件

为大家分享的如何使用js加载器动态加载外部Javascript文件,相信一定会对大家的学习有很大的帮助。

Javascript 相关文章推荐
验证控件与Button的OnClientClick事件详细解析
Dec 04 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
Jan 13 Javascript
JQuery EasyUI的一些常用组件
Jul 12 jQuery
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
跟混乱的页面弹窗说再见
Apr 11 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 02 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
微信小程序select下拉框实现源码
Nov 08 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
Aug 06 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 #Javascript
JavaScript如何禁止Backspace键
Dec 02 #Javascript
js文本框输入内容智能提示效果
Dec 02 #Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 #Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
Dec 02 #Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
Dec 02 #Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
Dec 02 #Javascript
You might like
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
php使用GeoIP库实例
2014/06/27 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
javascript下function声明一些小结
2007/12/28 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
生物化工工艺专业应届生求职信
2013/10/08 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
煤矿安全保证书
2015/02/27 职场文书
大学生党员自我评价
2015/03/04 职场文书
2015教师年度考核评语
2015/03/25 职场文书
读书笔记怎么写
2015/07/01 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
分析Python list操作为什么会错误
2021/11/17 Python
Java 写一个简单的图书管理系统
2022/04/26 Java/Android