مثال نموذجي لـ yepnope.js :
yepnope ({test: modernizr.geolocation ، yep: 'normal.js' ، nope: ['polyfill.js' ، 'clospper.js']}) ؛هذا المثال يعني أنه إذا كان تحديد الموقع صحيح ، يتم تحميل normal.js ، polyfill.js و wrapper.js.
بناء الجملة الكامل :
yepnope ([{test: /* boolean (ish) أدخل الشرط* /، yep: /* array (من السلاسل) | السلاسل - الموارد المحملة عندما تكون الحالة صحيحة* /، nope: /* صفيف (من السلاسل) يتم تحميلها عندما تكون الشرط صحيحة وخطأ*/، وظيفة:/*testresult ، مفتاح)لماذا تستخدم yepnope :
فقط 1.6 ألف بعد GZIP أصغر من معظم اللوادر الموارد
يمكن تحميل CSS و JS
يجتاز Yepnope اختبارات لجميع المتصفحات التي يمكن للمؤلف أن يجدها
yepnope يفصل تمامًا تحميل الموارد وتنفيذها ، بحيث يمكنك التحكم في ترتيب تنفيذ المورد
يوفر مزيجًا منطقيًا من واجهات برمجة التطبيقات الودية ويسهل الموارد
تصميم معياري ، يمكنك توسيع وظائفك الخاصة (انظر البادئات والمرشحات لاحقًا)
تشجيع تحميل الموارد عند الطلب
مدمجة في Modernizr
بشكل افتراضي ، يتم تنفيذها دائمًا بترتيب قائمة الموارد (ترتيب قائمة الملفات التي تقدمها)
يمكنه التعامل مع عمليات التراجع عن الموارد ولا تزال تعطي الأولوية لتنزيل البرامج النصية المعتمدة بالتوازي. من الأسهل الفهم بعد قراءة الكود:
yepnope ([{load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js' ، كاملة: function () {if (! window.jquery) '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) {stomeloader ('local/jquery.min.js' ، 'jquery.plugin. Yepnope فشل في التحميل ، تحتاج فقط إلى إعادة تحميل مورد النسخ الاحتياطي ، والتي لن تؤثر على تنفيذ الملفات الأخرى التي تعتمد على هذا المورد*/} آخر {someloader ('jquery.plugin.js') ؛أوجه القصور في Yepnope
ليس دائمًا الأسرع ، مثل LABJs ، وما إلى ذلك ، قد يتم تحميلها بشكل أسرع من Yepnope بعد التحسين ، ولكن عليك التفكير في اللودر الذي يجب استخدامه وفقًا لموقفك الفعلي.
تحتاج إلى تعيين رؤوس ذاكرة التخزين المؤقت معينة للمورد (هذا مهم للغاية)
على عكس المتطلبات والمكتبات الفصول الدراسية الأخرى التي لها أدوات توليدها الخاصة وواجهة برمجة التطبيقات الغنية ، فإن Yepnope لا تنفذ سوى وظيفة المحمل الأساسية.
بشكل افتراضي ، يتم تنفيذها دائمًا بترتيب قائمة الموارد التي تقدمها ، والتي قد تؤثر على السرعة
yepnope استخدام مثال :
تمرير سلسلة مباشرة
yepnope ('/url/to/your/script.js') ؛تمرير في كائن
yepnope ({load: '/url/to/your/script.js'}) ؛يمثل مثيل وظيفة رد الاتصال (عنوان URL في وظيفة رد الاتصال اسم ملف المورد المحمّل ؛ النتيجة تمثل نتيجة معلمة الاختبار ؛ يمثل المفتاح اختصار اسم الملف عند استخدام رسم الخرائط)
yepnope ({test: window.json ، load: '/rl/to/your/script.js' ، callback: function (url ، result ، key) {// enl is stred ، لقد تم تنفيذ البرنامج النصي للتو. ALERT ('script.js تم تحميله!') ؛}}) ؛مثال الوظيفة الكاملة
yepnope ({test: window.json ، nope: 'json2.js' ، complete: function () {var data = window.json.parse ('{"json": "string"}') ؛}}) ؛مثيل رسم الخرائط المفتاح
yepnope ({test: modernizr.geolocation ، yep: {'rstyles': 'styles.css'} ، nope: {'mstyles': 'modified-styles.css' ، 'geoly': 'geolocation-polyfill.js'} ، callback: url ، regun التنبيه (هذا هو polyfill cocation! ') ؛بالطبع يمكنك أيضًا كتابة وظيفة رد الاتصال مثل هذا:
yepnope ({test: modernizr.geolocation ، yep: {'rstyles': 'styles.css'} ، nope: {'mStyles': 'styles.css' ، 'this altr ،' year) ، 'year) {year) {year). الأنماط العادية!) ؛3 بادئات توفرها Yepnope
CSS! البادئة: يمكن تحميل أي ملف مع لاحقة كملف CSS
yepnope ('css! mystyles.php؟ الإصدار = 1532') ؛مسبق! البادئة: تحميل المورد مسبقًا في ذاكرة التخزين المؤقت ، ولكن لا يتم تنفيذها (قم بتنفيذها في المرة القادمة التي تقوم فيها بتحميلها)
yepnope ({load: 'preload! jQuery.1.5.js' ، callback: function (url ، structure ، key) {window.jquery ؛ // undefined yepnope (jQuery.1.5.0.js) ؛ window.jquery ؛ // object}}}) ؛أي! بادئة (ES): حدد ما إذا كان متصفح IE (بالإضافة إلى IE! ، وهو يدعم أيضًا IE5 و IE6 و IE7 و IE8 و IE9 و IEGT5 و IEGT6 و IEGT7 و IEGT8 و IELT7 و IELT8 و IELT9)
yepnope ({load: ['normal.js' ، 'ie6! ie7! ie-patch.js'] // ie6 أو ie7 فقط (على التصحيح)}) ؛