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控件
May 07 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
js实现的下拉框二级联动效果
Apr 30 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
May 09 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
JavaScript基于对象去除数组重复项的方法
Oct 09 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
基于vue 实现token验证的实例代码
Dec 14 Javascript
完美解决iview 的select下拉框选项错位的问题
Mar 02 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 Javascript
JS实现提示框跟随鼠标移动
Aug 27 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
PHP+javascript模拟Matrix画面
2006/10/09 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
详解PHP数组赋值方法
2015/11/07 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
手术室护士自我鉴定
2013/10/14 职场文书
可口可乐广告词
2014/03/20 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
政府个人对照检查材料
2014/08/28 职场文书
2014年教师工作总结
2014/11/10 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
Python matplotlib绘制雷达图
2022/04/13 Python