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阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 Javascript
jQuery向后台传入json格式数据的方法
Feb 13 Javascript
jQuery实现带延迟效果的滑动菜单代码
Sep 02 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
jQuery侧边栏实现代码
May 06 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
Dec 27 Javascript
vue 2.0组件与v-model详解
Mar 27 Javascript
JavaScript函数柯里化原理与用法分析
Mar 31 Javascript
vue移动端实现下拉刷新
Apr 22 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
vue单页面在微信下只能分享落地页的解决方案
Apr 15 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
PHP个人网站架设连环讲(二)
2006/10/09 PHP
一个颜色轮换的简单例子
2006/10/09 PHP
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python获取文件扩展名的方法
2015/07/06 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
24式加速你的Python(小结)
2019/06/13 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
高中生校园生活自我评价
2013/09/19 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
好人好事演讲稿
2014/09/01 职场文书
资产运营委托书范本
2014/10/16 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
2014年绿化工作总结
2014/12/09 职场文书
会议欢迎词范文
2015/01/27 职场文书
欠条格式范本
2015/07/03 职场文书
基于Python实现射击小游戏的制作
2022/04/06 Python
Python 中面向接口编程
2022/05/20 Python