Modernizr.load 已弃用。Yepnope.js 已弃用。怎么办?

sco*_*rod 5 conditional modernizr yepnope

在 Modernizr v3 之前,我使用的是 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
   });
  }
 }
});
Run Code Online (Sandbox Code Playgroud)

小智 5

一个新的语法,功能名称都是小写的。您可以将其与jQuery 的 getScript 方法结合使用。

看起来像这样:

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
    });
}
Run Code Online (Sandbox Code Playgroud)