Contoh khas yepnope.js :
yepnope ({test: modernizr.geolocation, yep: 'formal.js', nope: ['polyfill.js', 'wrapper.js']});Contoh ini berarti bahwa jika modernizr.geolocation benar, normal.js dimuat, polyfill.js dan wrapper.js dimuat.
Sintaks Lengkap Yepnope :
yepnope ([{test: /* boolean (ish) Masukkan kondisi* /, yep: /* array (dari string) | string - sumber daya dimuat ketika kondisinya benar* /, tidak: /* array (dari string) | string - sumber daya - Sumber daya yang dimuat ketika FALSE* /, keduanya: /* array (dari string) | String - Sumber daya dimuat ketika kondisi FALSE* /, keduanya: /* array (dari string) | String - Sumber daya dimuat ketika Sumber Daya FALSE* /, keduanya: keduanya: /* array (dari string) | String - Sumber daya dimuat ketika Sumber daya dimuat* dimuat saat kondisi benar dan salah*/, callback:/*function (testResult, key) |Mengapa Menggunakan Yepnope :
Hanya 1.6k setelah GZIP lebih kecil dari kebanyakan pemuat sumber daya
Dapat memuat CSS dan JS
yepnope lulus tes untuk semua browser yang dapat ditemukan penulis
Yepnope benar -benar memisahkan pemuatan dan eksekusi sumber daya, sehingga Anda dapat mengontrol urutan eksekusi sumber daya
Memberikan kombinasi logis API yang ramah dan memfasilitasi sumber daya
Desain modular, Anda dapat memperluas fungsi Anda sendiri (lihat awalan dan filter nanti)
Dorong pemuatan sumber daya sesuai permintaan
Terintegrasi dalam Modernizr
Secara default, selalu dieksekusi dalam urutan daftar sumber daya (urutan daftar file yang Anda berikan)
Ini dapat menangani fallback sumber daya dan masih memprioritaskan pengunduhan skrip dependen secara paralel. Lebih mudah dipahami setelah membaca kode:
yepnope ([{load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', lengkap: function () {if (! window.jquery) {yepnope ('lokal/jQuery.min.js'); 'jQuery.plugin.js', Lengkapi: function () {jQuery (function () {jQuery ('Div') .plugin ();});Loader lain mungkin harus menangani ini:
Someloader ('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', function () {if (! window.jQuery) {someloader ('local/jQuery.min.js', 'jQuery. Yepnope gagal memuat, Anda hanya perlu memuat kembali sumber daya cadangan, yang tidak akan mempengaruhi eksekusi file lain yang bergantung pada sumber daya ini*/} else {someloader ('jQuery.plugin.js');Kekurangan Yepnope
Tidak selalu yang tercepat, seperti LABJ, dll., Dapat memuat lebih cepat dari Yepnope setelah optimasi, tetapi Anda perlu mempertimbangkan pemuat mana yang akan digunakan sesuai dengan situasi Anda yang sebenarnya.
Anda perlu mengatur header cache tertentu untuk sumber daya (ini sangat penting)
Tidak seperti Persyaratan dan perpustakaan kelas lainnya yang memiliki alat generasi mereka sendiri dan API yang kaya, Yepnope hanya mengimplementasikan fungsi loader dasar.
Secara default, selalu dieksekusi dalam urutan daftar sumber daya yang Anda berikan, yang dapat mempengaruhi kecepatan
Contoh Penggunaan Yepnope :
Lewat secara langsung
yepnope ('/url/to/your/script.js');Lulus dalam objek objek
yepnope ({load: '/url/to/your/script.js'});Callback Function Instance (URL Dalam fungsi callback mewakili nama file sumber daya yang dimuat; hasilnya mewakili hasil parameter uji; tombol mewakili singkatan dari nama file saat menggunakan pemetaan kunci)
yepnope ({test: window.json, muat: '/url/to/your/script.js', callback: function (url, hasil, kunci) {// kapan pun ini berjalan, skrip Anda baru saja dieksekusi. Peringatan ('Script.js telah dimuat!');}});Contoh fungsi lengkap
yepnope ({test: window.json, nope: 'json2.js', complete: function () {var data = window.json.parse ('{"json": "string"}');}});Contoh Pemetaan Kunci
yepnope ({test: modernizr.geolocation, yep: {'rstyles': 'reguler-styles.css'}, nope: {'mstyles': 'dimodifikasi-styles.css', 'geopoly': 'geolocation-polyfill.js'}, callback: function (url, geolocation, geolocation {geolocy {geolocion {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy {geolocy (geolocy ' 'Ini adalah Polyfill Geolocation!');Tentu saja Anda juga dapat menulis fungsi panggilan balik seperti ini:
yepnope ({test: modernizr.geolocation, yep: {'rstyles': 'reguler-styles.css'}, nope: {'mstyles': 'Modified-styles.css', 'geopoly': 'function-polyfill.js'}, callback: {{{{{geolocy '{{geolocy', Styles! ');3 awalan yang disediakan oleh Yepnope
CSS! Awalan: File apa pun dengan akhiran dapat dimuat sebagai file CSS
yepnope ('css! mystyles.php? versi = 1532');Dahulu! Awalan: preload sumber daya ke dalam cache, tetapi tidak dijalankan (jalankan lain kali Anda memuatnya)
yepnope ({load: 'preload! jQuery.1.5.0.js', callback: function (url, hasil, kunci) {window.jQuery; // yepnope yang tidak ditentukan (jQuery.1.5.0.js); window.jquery; // objek}});yaitu! Awalan (ES): Tentukan apakah IE browser (selain IE!, Itu juga mendukung IE5, IE6, IE7, IE8, IE9, IEGT5, IEGT6, IEGT7, IEGT8, IELT7, IELT8, dan IELT9)
yepnope ({load: ['normal.js', 'ie6! ie7! ie-patch.js'] // ie6 atau ie7 saja (pada patch)});