我正在使用 Modernizr.load() 方法来测试浏览器(即)是否理解媒体查询,如果没有,我会加载 respond.js 库。
但是,我看到通过modernizr.load 方法加载respond.js 给我一个FOUC,而内联脚本方法没有。
modernizr.load 方法:
<script>
Modernizr.load([{
load: 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',
complete: function () {
if (!window.jQuery) {
yepnope('js/libs/jquery.js?v=1.7.2');
}
}
},
{
test: Modernizr.mq('only all'),
nope: 'js/plugins/respond.js?v=v1.1'
}])
</script>
内联方法:
<!--[if lte IE 8]>
<script src="js/plugins/respond.js?v=v1.1"></script>
<![endif]-->
为什么呢?不应该是异步方法更快吗?还是内联方法更好,因为脚本阻塞了 DOM 并等待脚本加载...?