yepnope.js 异步加载资源文件_javascript技巧
程序员文章站
2022-05-24 23:17:35
...
典型代码示例
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加载失败的情况做了一个备用处理。
复制代码 代码如下:
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加载失败的情况做了一个备用处理。
上一篇: RabbitMQ与PHP
推荐阅读
-
JavaScript文件的同步和异步加载的实现代码
-
JavaScript强化教程 —— 资源打包工具的使用及资源的异步加载处理
-
一些常用弹出窗口/拖放/异步文件上传等实用代码_javascript技巧
-
一个加载js文件的小脚本_javascript技巧
-
如何调试异步加载页面里包含的js文件_javascript技巧
-
javascript开发随笔二 动态加载js和文件_javascript技巧
-
javascript文件加载管理简单实现方法_javascript技巧
-
动态加载js、css等文件跨iframe实现_javascript技巧
-
根据配置文件加载js依赖模块_javascript技巧
-
动态加载js文件 document.createElement_javascript技巧