我使用Modernizr.mq
(http://modernizr.com/docs/#mq)在我的JS中运行检查,我认为Respond polyfill会使Modernizr.mq
工作在IE 8中,因为IE 8不支持媒体查询,但事实并非如此,请参阅IE 8中的此测试页:http://goo.gl/ND9sA,bg应为橙色,具体如下:
if (Modernizr.mq('screen and (min-width: 650px)')) {
$('body').css('background', 'orange');
}
响应仅适用于CSS中指定的媒体查询,而不适用于JS?我认为Modernizr.mq
使用matchMedia而回复包含 matchMedia polyfill,但仍然无效。
那么你如何让Modernizr.mq
为IE 8工作或者不能为你做什么?
答案 0 :(得分:0)
如果您加载polyfill,Modernizr不会更改其测试的值,因此如果浏览器不支持媒体查询,Modernizr.mq()
将返回false
,并且添加Respondjs polyfill将不会改变了。
很抱歉。
话虽如此,如果你已经加载了polyfill,那么你已经尽力支持旧的浏览器(Respondjs支持IE6 / 7/8),所以你可以用更多的东西来实现Modernizr旗帜。 ,理论上你不应该使用带有polyfill的Modernizr测试,因为所有的浏览器都应该支持这个功能。