感谢您对最佳方法的想法和建议。如果modernizr测试为假,则想执行一个小脚本-不值得加载。该解决方案看起来有些笨拙。

        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');
        }


还是这种方法有问题?

最佳答案

在Modernizr中,您有yepnope,因此,如果要测试的浏览器不支持所需的功能,则可以,您可以自己做。

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


哪里
路径/到/您的/script.js只是:

console.log('stuff to do when false');


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

关于javascript - 仅当为false时才执行Modernizr yepnope条件回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16633514/

10-16 23:22