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 相关文章推荐
jQuery调用WebService的实现代码
Jun 19 Javascript
修改好的jquery滚动字幕效果实现代码
Jun 22 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
Jun 23 Javascript
JS动态显示表格上下frame的方法
Mar 31 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
Aug 25 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
JavaScript定时器实现的原理分析
Dec 06 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
基于js 字符串indexof与search方法的区别(详解)
Dec 04 Javascript
Node.js API详解之 module模块用法实例分析
May 13 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版(4)
2006/10/09 PHP
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
php debug 安装技巧
2011/04/30 PHP
php加密解密实用类分享
2014/01/07 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
Python中logging模块的用法实例
2014/09/29 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
餐饮业创业计划书范文
2014/01/06 职场文书
校园十大歌手策划书
2014/02/01 职场文书
四年级科学教学反思
2014/02/10 职场文书
合作协议书怎么写
2014/04/18 职场文书
医药销售自荐书
2014/05/29 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
元旦主持词开场白
2015/05/29 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书