如何动态加载外部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 相关文章推荐
爱恋千雪-US-AscII加密解密工具(网页加密)下载
Jun 06 Javascript
jQuery中next()方法用法实例
Jan 07 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
Jun 10 Javascript
jQuery实现div拖拽效果实例分析
Feb 20 Javascript
jQuery的deferred对象使用详解
Sep 25 Javascript
jQuery实现右键菜单、遮罩等效果代码
Sep 27 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
Jun 12 Javascript
vue实现点击当前标签高亮效果【推荐】
Jun 22 Javascript
ES6 系列之 Generator 的自动执行的方法示例
Oct 19 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 Javascript
JavaScript实现简易计算器小功能
Oct 22 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
如何去掉文章里的 html 语法
2006/10/09 PHP
用PHP产生动态的影像图
2006/10/09 PHP
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
python通过索引遍历列表的方法
2015/05/04 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
python 弧度与角度互转实例
2020/04/15 Python
django 模型中的计算字段实例
2020/05/19 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
硕士研究生求职自荐信范文
2014/03/11 职场文书
企业年度评优方案
2014/06/02 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
运动会表扬稿
2015/01/16 职场文书
公司人事管理制度
2015/08/05 职场文书
SQL Server实现分页方法介绍
2022/03/16 SQL Server
Python find()、rfind()方法及作用
2022/12/24 Python