javascript loadScript异步加载脚本示例讲解


Posted in Javascript onNovember 14, 2013

一、语法:
loadScript(url[,callback])
或者
loadScript(settings)
二、settings支持的参数:
url:脚本路径
async:是否异步,默认false(HTML5)
charset:文件编码
cache:是否缓存,默认为true
success:加载成功后执行的函数,优先执行callback。
三、调用举例:

//loadScript(url[,callback])
loadScript(“http://code.jquery.com/jquery.js”);
loadScript(“http://code.jquery.com/jquery.js”,function(){
console.log(1)
});
//loadScript(settings)
loadScript({“url”:”http://code.jquery.com/jquery.js”,”async”:false,”charset”:”utf-8″,”cache”:false});
loadScript({“url”:”http://code.jquery.com/jquery.js”,”async”:false,”charset”:”utf-8″,”success”:function(){
console.log(2)
}});
//或者你可以酱紫:
//loadScript(settings[,callback])
loadScript({“url”:”http://code.jquery.com/jquery.js”,”async”:false,”charset”:”utf-8″},function(){
console.log($)
});

四、源代码:
function loadScript(url,callback) {
var head = document.head || document.getElementsByTagName(“head”)[0] || document.documentElement,
script,
options,if (typeof url === “object”) {
options = url;
url = undefined;
}
s = options || {};
url = url || s.url;
callback = callback || s.success;
script = document.createElement(“script”);
script.async = s.async || false;
script.type = “text/javascript”;
if (s.charset) {
script.charset = s.charset;
}
if(s.cache === false){
url = url+( /\?/.test( url ) ? “&” : “?” )+ “_=” +(new Date()).getTime();
}
script.src = url;
head.insertBefore(script, head.firstChild);
if(callback){
document.addEventListener ? script.addEventListener(“load”, callback, false) : script.onreadystatechange = function() {
if (/loaded|complete/.test(script.readyState)) {
script.onreadystatechange = null
callback()
}
}
}
}
Javascript 相关文章推荐
Add Formatted Text to a Word Document
Jun 15 Javascript
JavaScript CSS修改学习第一章 查找位置
Feb 19 Javascript
JavaScript中使用正则匹配多条,且获取每条中的分组数据
Nov 30 Javascript
js Function类型
Dec 04 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
Oct 17 Javascript
js打造数组转json函数
Jan 14 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
Feb 15 Javascript
vue.js事件处理器是什么
Mar 20 Javascript
详解Vue路由开启keep-alive时的注意点
Jun 20 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
Oct 23 Javascript
MyEclipse取消验证Js的两种方法
Nov 14 #Javascript
使用JS CSS去除IE链接虚线框的三种方法
Nov 14 #Javascript
javascript unicode与GBK2312(中文)编码转换方法
Nov 14 #Javascript
javascript按位非运算符的使用方法
Nov 14 #Javascript
javascript Array.prototype.slice的使用示例
Nov 14 #Javascript
js取消单选按钮选中示例代码
Nov 14 #Javascript
js实现目录定位正文示例
Nov 14 #Javascript
You might like
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Python操作列表之List.insert()方法的使用
2015/05/20 Python
python中requests库session对象的妙用详解
2017/10/30 Python
Django 视图层(view)的使用
2018/11/09 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
Python对象的属性访问过程详解
2020/03/05 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
初级Java程序员面试题
2016/03/03 面试题
经济信息系毕业生自荐信范文
2014/03/15 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS