Javascript 仅当为false时,Modernizer yepnope条件回调

Javascript 仅当为false时,Modernizer yepnope条件回调,javascript,modernizr,yepnope,Javascript,Modernizr,Yepnope,我很感激你对最好的方法的想法和建议。如果Modernizer测试为false,我想执行一个小脚本——不值得加载。这个解决方案看起来有点笨重 Modernizr.load({ test: Modernizr.inlinesvg, yep : 'js/funky-svg-animation.js', complete : function () { if (!Modernizr.i

我很感激你对最好的方法的想法和建议。如果Modernizer测试为false,我想执行一个小脚本——不值得加载。这个解决方案看起来有点笨重

        Modernizr.load({
            test: Modernizr.inlinesvg,
            yep : 'js/funky-svg-animation.js',
            complete : function () {
                if (!Modernizr.inlinesvg){
                    console.log('stuff to do when false');
                }
            },
        });
编辑: 根据评论,这是否是一种有效的方法:

        if (Modernizr.inlinesvg){
            $(body).append('<script src="js/funky-svg-animation.js"><\/script>')
        } else {
            console.log('stuff to do when false');
        }
if(modernizer.inlinesvg){
$(正文)。附加(“”)
}否则{
log('stuff to do when false');
}

或者这种方法有问题吗?

在Modernizer中,您有
yep
nope
,因此,如果您正在测试的浏览器不支持您需要的功能,使用nope您可以完成您的工作

Modernizr.load({
      test: Modernizr.inlinesvg,
      yep : 'js/funky-svg-animation.js',
      nope : 'path/to/your/script.js'
      },
  });
在哪里 path/to/your/script.js只是:


这是Yenope的默认行为,如果需要,它应该加载外部资源。

然后您可以删除script.js中的条件,因为它只会在nope状态下执行(我假设这是因为我没有Modernizer/yepnope的经验)是的,yenope将仅在浏览器中没有该功能时加载脚本。
console.log('stuff to do when false');