2013-02-08 51 views
1

我使用Modernizr.mqhttp://modernizr.com/docs/#mq)在我的JS運行檢查,我的印象是,Respond填充工具將使IE 8中Modernizr.mq工作爲IE 8不支持媒體查詢,但不是這種情況,請參見IE 8這個測試頁面:http://goo.gl/ND9sA,將BG應該按照本是橙色:入門Modernizr.mq工作在IE 8

if (Modernizr.mq('screen and (min-width: 650px)')) { 
    $('body').css('background', 'orange'); 
} 

因此,沒有迴應只對CSS中,而不是指定媒體查詢工作JS?我以爲Modernizr.mq使用matchMedia迴應包括matchMediapolyfill但仍然無法正常工作。

那麼你如何得到Modernizr.mq工作IE8或不能?

回答

0

如果您加載polyfills,Modernizr不會更改其測試的值,所以如果瀏覽器不支持媒體查詢,Modernizr.mq()將返回false,並且添加Respondjs填充不會更改該值。

對不起。儘管如此,如果您已經加載了polyfill,那麼您已經盡全力支持舊版瀏覽器(Respondjs支持IE6/7/8),因此您可以實現的功能還不止於此。與Modernizr旗幟。 ,理論上你不需要使用Modernizr測試和polyfill,因爲所有瀏覽器都應該支持該功能。

+0

感謝您的反饋意見。是我**只**使用**響應**爲舊的IE瀏覽器(8及以下)認爲它會通過'Modernizr.mq'在我的JS修復媒體查詢支持,但這是毫無意義的,就像你說的,所以我回來了以這種方式檢查視口寬度:'document.body.clientWidth'。對於我的CSS,我使用了Sass,這樣我就可以使用這個偉大的技術來支持舊的IE媒體查詢:http://jakearchibald.github.com/sass-ie/。 –