亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

yepnope.js使用詳解及示例分享

2019-11-20 14:25:15
字體:
來源:轉載
供稿:網友

yepnope.js的一個典型實例:

yepnope({ test : Modernizr.geolocation, yep : 'normal.js', nope : ['polyfill.js', 'wrapper.js']});

此實例表示如果Modernizr.geolocation為真的時候加載normal.js,為假則加載polyfill.js及wrapper.js。

yepnope完整語法

yepnope([{ test : /* boolean(ish) 輸入條件    */, yep : /* array (of strings) | string - 條件為真時加載的資源 */, nope : /* array (of strings) | string - 條件為假時加載的資源 */, both : /* array (of strings) | string - 條件無論真假都加載 */, load : /* array (of strings) | string - 條件無論真假都加載 */, callback : /* function ( testResult, key ) | object { key : fn } 回調函數 */, complete : /* function 加載完成后執行的函數 */}, ... ]);

為什么使用yepnope

Gzip后只有1.6K比大多數的資源加載器都小
可以加載CSS及JS
yepnope通過了作者能找到的所有的瀏覽器的測試
yepnope完全分離資源加載和執行,這樣你可以控制資源的執行順序
提供友好的API和促進資源的邏輯組合
模塊化設計,你可以自己擴充功能(見稍后的Prefixes及filters)
鼓勵按需加載資源
集成在 Modernizr 中
默認總是按照資源列表(你所提供的文件列表順序)順序執行
可處理資源回退(fallback),且仍優先并行下載依賴的腳本,看下代碼更容易理解:

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();   });  } }]);

而其他加載器則可能必須這樣處理:

someLoader('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', function(){ if ( ! window.jQuery ) {  someLoader( 'local/jquery.min.js', 'jquery.plugin.js' ); /*注意這點和yepnope的區別,yepnope加載失敗后僅需重新加載備用資源即可,不會影響依賴此資源的其他文件執行*/ } else {  someLoader( 'jquery.plugin.js' ); }});

yepnope的不足

并不總是最快的,像labjs等優化后可能加載速度優于yepnope,但需要根據你的實際情況考慮使用哪個加載器
需要給資源設置一定的緩存頭(這一點很重要)
并不像RequireJS等類庫有自己的生成工具及豐富的API,yepnope僅實現了基本加載器功能
默認總是按照你提供的資源列表順序執行,這一點有可能會影響速度

yepnope使用實例:

直接傳入字符串

yepnope( '/url/to/your/script.js' );

傳入一個Object對象

yepnope( {   load : '/url/to/your/script.js'   } );

回調函數實例(回調函數中url表示加載的資源文件名;result表示test參數的結果;key表示使用 key maping 時候的文件名縮寫)

yepnope( {  test : window.JSON,  load : '/url/to/your/script.js',  callback : function ( url, result, key ) {   // whenever this runs, your script has just executed.   alert( 'script.js has loaded!' );  } } );

complete函數實例

yepnope( {  test : window.JSON,  nope : 'json2.js',  complete : function () {   var data = window.JSON.parse( '{ "json" : "string" }' );  } } );

Key maping實例

yepnope( {  test : Modernizr.geolocation,  yep : {   'rstyles' : 'regular-styles.css'  },  nope : {   'mstyles' : 'modified-styles.css',   'geopoly' : 'geolocation-polyfill.js'  },  callback : function ( url, result, key ) {   if ( key === 'geopoly' ) {    alert( 'This is the geolocation polyfill!' );   }  } } );

當然回調函數你還可以這樣寫:

yepnope( {  test : Modernizr.geolocation,  yep : {   'rstyles' : 'regular-styles.css'  },  nope : {   'mstyles' : 'modified-styles.css',   'geopoly' : 'geolocation-polyfill.js'  },  callback : {   'rstyles' : function ( url, result, key ) {    alert( 'This is the regular styles!' );   },   'mstyles' : function ( url, result, key ) {    alert( 'This is the modified styles!' );   },   'geopoly' : function ( url, result, key ) {    alert( 'This is the geolocation polyfill!' );   }  },  complete : function () {   alert( 'Everything has loaded in this test object!' );  } } );

yepnope官方提供的3個Prefixes

css! Prefix:可以加載任何后綴的文件作為css文件

yepnope( 'css!mystyles.php?version=1532' );

preload! Prefix:預加載資源到緩存中,但不執行(下次load時候才執行)

yepnope( { load : 'preload!jquery.1.5.0.js', callback : function ( url, result, key ) {  window.jQuery; //undefined  yepnope(jquery.1.5.0.js);  window.jQuery; //object }} );

ie! Prefix(es):判斷是否IE瀏覽器(除ie!外,還支持 ie5, ie6, ie7, ie8, ie9, iegt5, iegt6, iegt7, iegt8, ielt7, ielt8, 及 ielt9這幾種Prefix)

yepnope({ load: ['normal.js', 'ie6!ie7!ie-patch.js'] // ie6 or ie7 only (on patch)});

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久北条麻妃免费看| 97欧美精品一区二区三区| 国产日韩av高清| 美日韩丰满少妇在线观看| 久久久精品国产网站| 美女黄色丝袜一区| 少妇av一区二区三区| 久久久999精品视频| 中文字幕一精品亚洲无线一区| 欧美又大又粗又长| 欧美国产第一页| 亚洲精品资源美女情侣酒店| 欧美国产激情18| 欧美精品电影在线| 国产精品国产三级国产专播精品人| 亚洲国产成人精品电影| 亚洲欧美日韩国产中文| 这里只有视频精品| 亚洲精品久久久久中文字幕欢迎你| 亚洲国产精品久久精品怡红院| 久久艳片www.17c.com| 久久久久久久久久国产| 欧美精品一本久久男人的天堂| 蜜月aⅴ免费一区二区三区| 亚洲欧美日韩中文在线| 久久久欧美一区二区| 国产精品免费小视频| 精品亚洲一区二区三区在线播放| 国内精品久久久久久久久| 国产精品视频999| 欧美成在线观看| 欧美午夜久久久| 尤物99国产成人精品视频| **欧美日韩vr在线| 91在线视频一区| 在线视频国产日韩| 不卡伊人av在线播放| 伊人伊成久久人综合网小说| 欧美成aaa人片在线观看蜜臀| 亚洲精品国产欧美| 日韩一区二区福利| 国产亚洲激情在线| 91精品国产91久久久久久| 久久免费视频网站| 亚洲最大激情中文字幕| 亚洲成人精品视频在线观看| 在线日韩第一页| 国产精品视频不卡| 欧美日韩国产在线看| 久精品免费视频| 欧美性猛交xxxx乱大交| 4438全国亚洲精品在线观看视频| 国产精品欧美激情在线播放| 日韩精品在线视频| 97国产精品免费视频| 欧美肥婆姓交大片| 亚洲午夜精品久久久久久久久久久久| 国产一区二中文字幕在线看| 精品久久久久久久久久久久久久| 欧美日韩人人澡狠狠躁视频| 中文字幕免费精品一区高清| 日韩国产精品一区| 国产精品久久久久久久app| 韩国欧美亚洲国产| 亚洲曰本av电影| 国产有码在线一区二区视频| 日日狠狠久久偷偷四色综合免费| 欧美一性一乱一交一视频| 韩国美女主播一区| 国产不卡av在线| 亚洲欧美日韩精品久久亚洲区| 68精品久久久久久欧美| 欧美日韩中文字幕综合视频| 色偷偷偷综合中文字幕;dd| 伊人久久综合97精品| 亚洲精品资源在线| 成人免费观看a| 日韩欧美在线看| 国产日韩欧美另类| 欧美日韩亚洲视频一区| 色综合五月天导航| 亚洲大胆人体在线| 国产在线视频欧美| 欧美放荡办公室videos4k| 国产一区二区在线免费视频| 亚洲精品视频久久| 啪一啪鲁一鲁2019在线视频| 国产精品a久久久久久| 久久久久久中文| 91精品视频免费看| 国产香蕉一区二区三区在线视频| 97久久精品国产| 亚洲人成在线观| 久久好看免费视频| 国产中文字幕亚洲| 久久久av电影| 在线丨暗呦小u女国产精品| 亚洲高清一区二| 欲色天天网综合久久| 国产成人激情小视频| 亚洲a级在线播放观看| 欧美午夜影院在线视频| 成人精品视频99在线观看免费| 国产精品亚洲片夜色在线| 国产91色在线播放| 国产精品 欧美在线| 精品久久久久人成| 777777777亚洲妇女| 亚洲www在线| 亚洲精品在线视频| 亚洲免费人成在线视频观看| 欧美日韩色婷婷| 热99久久精品| 26uuu日韩精品一区二区| 国产精品爱啪在线线免费观看| 狠狠久久五月精品中文字幕| 国产69精品久久久久99| 成人免费高清完整版在线观看| 国产一区二区三区久久精品| 琪琪第一精品导航| 北条麻妃一区二区在线观看| 91中文字幕在线观看| 亚洲成年网站在线观看| 91精品国产九九九久久久亚洲| 亚洲欧洲日韩国产| 一区二区三区视频在线| 欧美怡春院一区二区三区| 亚洲一区二区三区香蕉| 精品无码久久久久久国产| 亚洲成人教育av| 欧美国产日本高清在线| 69久久夜色精品国产69乱青草| 日韩欧美国产激情| 日韩欧美亚洲一二三区| 国产亚洲欧洲在线| 91精品久久久久久久久久入口| 51视频国产精品一区二区| 中文字幕亚洲第一| 欧美日韩亚洲国产一区| 超薄丝袜一区二区| 亚洲国产精品va在线| 日韩国产欧美精品一区二区三区| 91国产在线精品| 亚洲变态欧美另类捆绑| 成人免费视频a| 亚洲天堂av女优| 欧美美女操人视频| 国产精品色婷婷视频| 秋霞成人午夜鲁丝一区二区三区| 亚洲视屏在线播放| 亚洲精品国偷自产在线99热| 久久视频在线播放| 亚洲激情在线视频| 超碰97人人做人人爱少妇| 国产一区在线播放| 日韩成人在线网站| 国产一区二区三区三区在线观看| 欧美日韩国产麻豆| 欧美电影在线播放| 国产深夜精品福利| 国产欧美婷婷中文| 久久久久久久久久久久av| 久久成人这里只有精品| 久久亚洲欧美日韩精品专区|