zoukankan      html  css  js  c++  java
  • yepnope.js – 异步加载资源文件

    yepnope.js是一个能够根据输入条件来选择性异步加载资源文件的js脚本,可以在页面上仅加载用户需要的js/css。

    典型代码示例

    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加载失败的情况做了一个备用处理。

    原文链接:http://www.ooso.net/archives/591

  • 相关阅读:
    P6665 [清华集训2016] Alice 和 Bob 又在玩游戏
    模板库
    CSP-S2021 游记
    CSP-S2021 SD迷惑行为大赏
    博弈论总结
    LOJ6033「雅礼集训 2017 Day2」棋盘游戏(二分图最大匹配必经点)
    LOJ6065「2017 山东一轮集训 Day3」第一题
    LOJ6059「2017 山东一轮集训 Day1」Sum
    LOJ6102「2017 山东二轮集训 Day1」第三题
    python笔记:字符编码
  • 原文地址:https://www.cnblogs.com/wmlunge/p/2299254.html
Copyright © 2011-2022 走看看