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 相关文章推荐
JavaScript 模块化编程(笔记)
Apr 08 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
Jul 13 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
Js调用Java方法并互相传参的简单实例
Aug 11 Javascript
Angular2 多级注入器详解及实例
Oct 30 Javascript
javascript将list转换成树状结构的实例
Sep 08 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
Sep 11 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
Oct 20 Javascript
微信小程序sessionid不一致问题解决
Aug 30 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
Jul 26 Javascript
解决Vue大括号字符换行踩的坑
Nov 09 Javascript
JS数组索引检测中的数据类型问题详解
Jan 11 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
eAccelerator的安装与使用详解
2013/06/13 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python同步遍历多个列表的示例
2019/02/19 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
Python中常用的os操作汇总
2020/11/05 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
写自荐信的七个技巧
2013/10/15 职场文书
中考冲刺决心书
2014/03/11 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
经典导游欢迎词
2015/01/26 职场文书
化工厂员工工作总结
2015/10/15 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
Android自定义双向滑动控件
2022/04/19 Java/Android