2015-11-29 6 views
3

До Modernizr v3, я использовал yepnope.jsModernizr.load Устаревший. Yepnope.js Устарела. Что теперь?

Modernizr.load и yepnope.js обе устарели. Как мы условно называем таблицы стилей или файлы javascript сейчас?

Пример, который работал с Modernizr V2.5.3:

Modernizr.load({ 
    test: Modernizr['object-fit'], 
    nope: ['./dist/scripts/object-fit.js'], 
    complete: function(){ 
    if (!Modernizr['object-fit']) { 
    jQuery(".poster img").imageScale({ 
    scale: "best-fill", 
    rescaleOnResize: true 
    }); 
    } 
} 
}); 

ответ

4

Там в a new syntax и имена элементов все в нижнем регистре. Вы можете комбинировать это с jQuery's getScript method.

Какой будет выглядеть примерно так:

if (Modernizr.objectfit){ 
    jQuery.getScript("./dist/scripts/object-fit.js") 
     //it worked! do something! 
     .done(function(){ 
      console.log('js loaded'); 
     }) 
     //it didn't work! do something! 
     .fail(function(){ 
      console.log('js not loaded'); 
     }); 
} else { 
    jQuery(".poster img").imageScale({ 
     scale: "best-fill", 
     rescaleOnResize: true 
    }); 
} 
+0

Благодаря кучу @mhk! Извините, на это потребовалось столько времени, чтобы ответить. – user1848144

+0

Чтобы уточнить, это то, что работает для меня: '' ' $ (функция() { если (Modernizr.objectfit) { } еще { $ .getScript (» ./ расстояние/скриптов/объектно-пригонки .js "функция() {$ ( " IMG масштаба. ") imageScale ({ шкала:. "лучшие заливка", rescaleOnResize: истинная }); });} ; }); '' ' – user1848144

0

взглянуть здесь скриптов: https://stackoverflow.com/a/7719185 - не JQuery требуется. (Обратите внимание, что в ответе есть более короткий пример Promise: не прекращайте чтение после первого примера (например, я)).

А вот для CSS: loadCSS: https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js

- это, в некотором роде, даже лучше, чем YepNope.js, если вам не нужны какие-либо из его особенностей для загрузки только материал + обратного вызова, за исключением. Потому что материал, связанный выше, меньше (меньше min.js.gz), чем yepnope.js.

(А может сочетаться с Modernizrmhk, как показал в своем ответе.)

Смежные вопросы