Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅在需要时使用RequireJS包含多边形填充_Javascript_Requirejs_Modernizr - Fatal编程技术网

Javascript 如何仅在需要时使用RequireJS包含多边形填充

Javascript 如何仅在需要时使用RequireJS包含多边形填充,javascript,requirejs,modernizr,Javascript,Requirejs,Modernizr,我只想为不支持媒体查询的浏览器加载Respond.js polyfill。我使用RequireJS管理我的js文件,使用Modernizer检测功能支持 只有当浏览器不支持媒体查询时,让RequireJS load Response.js加载的最佳方式是什么 我看到了这个答案,它奏效了,但有没有更好的方法?当我添加更多的多边形填充时,我必须一遍又一遍地重复这个过程: 我的代码如下所示,围绕着我的主require语句: if (Modernizr.mq('only all')) { requi

我只想为不支持媒体查询的浏览器加载Respond.js polyfill。我使用RequireJS管理我的js文件,使用Modernizer检测功能支持

只有当浏览器不支持媒体查询时,让RequireJS load Response.js加载的最佳方式是什么

我看到了这个答案,它奏效了,但有没有更好的方法?当我添加更多的多边形填充时,我必须一遍又一遍地重复这个过程:

我的代码如下所示,围绕着我的主require语句:

if (Modernizr.mq('only all')) {
  require(['plugins/respond'], function(){});
}

最简单的方法是获取包含Yepnope.js的Modernizer包。然后,您可以通过以下方式有条件地加载:

Modernizr.load({
    test: Modernizr.mq('only all'),
    yep: '',
    nope: 'plugins/respond.js'
});
不幸的是,是的,您必须为您希望使用polyfill支持的每个功能执行此操作。
yep
属性允许您在功能存在时加载脚本