让Modernizr.mq在IE 8中工作

时间:2013-02-08 05:09:52

标签: modernizr

我使用Modernizr.mqhttp://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工作或者不能为你做什么?

1 个答案:

答案 0 :(得分:0)

如果您加载polyfill,Modernizr不会更改其测试的值,因此如果浏览器不支持媒体查询,Modernizr.mq()将返回false,并且添加Respondjs polyfill将不会改变了。

很抱歉。

话虽如此,如果你已经加载了polyfill,那么你已经尽力支持旧的浏览器(Respondjs支持IE6 / 7/8),所以你可以用更多的东西来实现Modernizr旗帜。 ,理论上你不应该使用带有polyfill的Modernizr测试,因为所有的浏览器都应该支持这个功能。