Modernizr yepnope条件回调仅在假时

时间:2013-05-19 10:11:09

标签: javascript modernizr yepnope

我很感激您对最佳方法的想法和建议。我喜欢执行一个小脚本 - 不值得加载 - 如果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');
        }

或者这种方法有问题吗?

1 个答案:

答案 0 :(得分:2)

在Modernizr中,您有yepnope,因此,如果您正在测试的浏览器不支持您需要的功能,那么您可以使用nope。

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

,其中 path / to / your / script.js 只是:

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

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