如何动态加载外部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 相关文章推荐
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
JavaScript中的this机制
Jan 30 Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 Javascript
怎么引入(调用)一个JS文件
May 26 Javascript
微信小程序 Record API详解及实例代码
Sep 30 Javascript
bootstrap laydate日期组件使用详解
Jan 04 Javascript
JavaScript运动框架 链式运动到完美运动(五)
May 18 Javascript
移动端触摸滑动插件swiper使用方法详解
Aug 11 Javascript
Vue中添加手机验证码组件功能操作方法
Dec 07 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
PHPThumb图片处理实例
2014/05/03 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
javascript实现Table排序的方法
2015/05/15 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
Django中间件基础用法详解
2019/07/18 Python
Python range与enumerate函数区别解析
2020/02/28 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Python pymsql模块的使用
2020/09/07 Python
python实现控制台输出颜色
2021/03/02 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
财务主管自我鉴定
2014/01/17 职场文书
大学毕业生求职自荐信
2014/02/20 职场文书
兴趣小组活动总结
2014/05/05 职场文书
幼师求职信
2014/06/23 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python