yepnope.js 异步加载资源文件


Posted in Javascript onSeptember 08, 2011

典型代码示例

yepnope({ 
test : Modernizr.geolocation, 
yep : 'normal.js', 
nope : ['polyfill.js', 'wrapper.js'] 
});

当Modernizr.geolocation为真时,加载yep项也就是”normal.js”,否则加载nope项——可以同时加载多个文件。

yepnope和现有的xxx script loader有什么区别?
个人认为主要 是这两点:

可以同时处理javascript以及css
能够按条件加载
yepnope的全部参数

yepnope([{ 
test : /* boolean(ish) - 你要检查真伪的表达式 */, 
yep : /* array (of strings) | string - test为true时加载这项 */, 
nope : /* array (of strings) | string - test为false时加载这项 */, 
both : /* array (of strings) | string - 什么情况下都加载 */, 
load : /* array (of strings) | string - 什么情况下都加载 */, 
callback : /* function ( testResult, key ) | object { key : fn } 当某个url加载成功时执行相应的方法 */, 
complete : /* function 都加载完成了执行这个方法 */ 
}, ... ]);

这里的参数都可以是array或者object,在加载多个资源文件的时候有用。

yepnope加载jquery的实例

yepnope([{ 
load: 'http:/­/ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', 
complete: function () { 
if (!window.jQuery) { 
yepnope('local/jquery.min.js'); 
} 
} 
}, { 
load: 'jquery.plugin.js', 
complete: function () { 
jQuery(function () { 
jQuery('div').plugin(); 
}); 
} 
}]);

这段代码异步加载了jquery和jquery.plugin.js,甚至还对jquery加载失败的情况做了一个备用处理。
Javascript 相关文章推荐
一个很酷的拖动层的js类,兼容IE及Firefox
Jun 23 Javascript
js 立即调用的函数表达式如何写
Jan 12 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
Mar 13 Javascript
js实现表格筛选功能
Jan 18 Javascript
JavaScript获取select中text值的方法
Feb 13 Javascript
解决Layui数据表格中checkbox位置不居中的方法
Aug 15 Javascript
简单两步使用node发送qq邮件的方法
Mar 01 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
Mar 01 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
原生js实现五子棋游戏
May 28 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
Nov 19 Javascript
解析原生JS getComputedStyle
May 25 Javascript
jquery绑定原理 简单解析与实现代码分享
Sep 06 #Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 #Javascript
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 #Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 #Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
Sep 05 #Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 #Javascript
JQuery扩展插件Validate 5添加自定义验证方法
Sep 05 #Javascript
You might like
19个Android常用工具类汇总
2014/12/30 PHP
PHPMailer发送邮件
2016/12/28 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python运行的17个时新手常见错误小结
2012/08/07 Python
python原始套接字编程示例分享
2014/02/21 Python
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
电气专业应届生求职信
2013/11/01 职场文书
房地产出纳岗位职责
2013/12/01 职场文书
积极分子思想汇报
2014/01/04 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
饭店服务员岗位职责
2015/02/09 职场文书