JS加载器如何动态加载外部js文件


Posted in Javascript onMay 26, 2016

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

测试结果如下:

JS加载器如何动态加载外部js文件

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - ValidateBox验证框
Oct 06 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
Oct 13 Javascript
AngularJS语法详解(续)
Jan 23 Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
Apr 16 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
Aug 05 Javascript
jquery获取复选框的值的简单实例
May 26 #Javascript
改变checkbox默认选中状态及取值的实现代码
May 26 #Javascript
JavaScript数组实现数据结构中的队列与堆栈
May 26 #Javascript
jquery获取复选框checkbox的值的简单实现方法
May 26 #Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
May 26 #Javascript
jquery获取所有选中的checkbox实现代码
May 26 #Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 #Javascript
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
PHP实时显示输出
2008/10/02 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
详解js异步文件加载器
2016/01/24 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python FTP操作类代码分享
2014/05/13 Python
python实现计算资源图标crc值的方法
2014/10/05 Python
Django中几种重定向方法
2015/04/28 Python
python函数装饰器用法实例详解
2015/06/04 Python
对python的输出和输出格式详解
2018/12/08 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
Python-for循环的内部机制
2020/06/12 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
小学学雷锋活动总结
2014/04/25 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
群众路线表态发言材料
2014/10/17 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
家长高考寄语
2015/02/27 职场文书
老干部座谈会主持词
2015/07/03 职场文书
详解Python牛顿插值法
2021/05/11 Python
Mysql 如何查询时间段交集
2021/06/08 MySQL
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers