我正在仔细评估利用Modernizr和Respond.js进行响应式设计的最佳方式,并向社区提出几个问题。
首先,据我了解,在将 Modernizr 与 Respond.js 捆绑在一起时,IE8 及以下版本的媒体查询支持不需要其他编码或测试。换句话说,当 Respond.js 与 Modernizr 捆绑在一起时,我只需在我的源代码中加载 Modernizr 即可激活 Respond.js。正确的?
其次,您认为这是在 IE8 及以下版本中实现对媒体查询支持的最有效方式吗?本质上,我将包含一个比已经支持媒体查询的浏览器所需的更大的 Modernizr 脚本。如果媒体查询测试失败,将两个脚本分开并仅加载 Respond.js 不是更有效吗?
第三,如果我想将这两个脚本分开,如果需要,您认为加载 Respond.js 的最佳方式是什么?一种选择是使用 IE 特定的条件注释来加载响应。另一种选择是使用 yepnope 和 Modernizr 来测试媒体查询支持并在需要时加载 Respond。这将更有效和防错。
最后,如果我选择分离两个脚本并在需要时使用 Modernizr 加载 Respond,我遇到了以下两种技术:
<script>
yepnope({
test : Modernizr.mq('(only all)'),
nope : ['js/libs/respond.min.js']
});
</script>
或者
<script>Modernizr.mq('(min-width:0)') || document.write('<script src="js/libs/respond.min.js"><\/script>')</script>
我发现第二个崩溃 IE8,但必须只需要重写。你会推荐哪种技术?
感谢所有的帮助。