1

非常感谢您对最佳方式的想法和建议。如果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');
        }

或者这种方法有问题吗?

4

1 回答 1

2

在 Modernizr 中你有yepnope所以如果你正在测试的浏览器不支持你需要的功能,不,你可以做你的事情。

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 的默认行为,它应该在需要时加载外部资源。

于 2013-05-19T10:18:20.577 回答