1

我正在使用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');
}

那么Respond是否仅适用于 CSS 而不是 JS 中指定的媒体查询?我认为Modernizr.mq使用matchMediaRespond包括matchMedia polyfill 但仍然不起作用。

那么,您如何Modernizr.mq为 IE 8 工作,还是不能?

4

1 回答 1

0

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

对于那个很抱歉。

话虽如此,如果你已经加载了 polyfill,那么你已经在尽你所能来支持旧浏览器(Respondjs 支持 IE6/7/8),所以你可以用 Modernizr 标志实现更多的功能. , 从理论上讲,您不需要使用带有 polyfill 的 Modernizr 测试,因为所有浏览器都应该支持该功能。

于 2013-02-09T16:02:47.587 回答