如何动态加载外部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 相关文章推荐
JavaScript XML操作 封装类
Jul 01 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
javascript类型转换使用方法
Feb 08 Javascript
jquery如何扑捉回车键触发的事件
Apr 24 Javascript
jquery获取tagName再进行判断
May 29 Javascript
生成二维码方法汇总
Dec 26 Javascript
H5用户注册表单页 注册模态框!
Sep 17 Javascript
使用JSON作为函数的参数的优缺点
Oct 27 Javascript
Vue Router的懒加载路径的解决方法
Jun 21 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
Aug 12 Javascript
通过实例了解Javascript柯里化流程
Mar 03 Javascript
JavaScript高级程序设计之基本引用类型
Nov 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
php heredoc和phpwind的模板技术使用方法小结
2008/03/28 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
JavaScript错误处理
2015/02/03 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
python元组操作实例解析
2014/09/23 Python
Python星号*与**用法分析
2018/02/02 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
优秀的茶餐厅创业计划书
2014/01/03 职场文书
2014年师德承诺书
2014/05/23 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python