1

私はModernizr.mq( http://modernizr.com/docs/#mq ) を使用して JS でチェックを実行していますが、IE 8 はメディア クエリをサポートしていないため、RespondポリフィルがModernizr.mqIE 8 で機能するという印象を受けましたが、そうではありません。IE 8 のこのテスト ページを参照してください。

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

RespondはCSS 内で指定されたメディア クエリに対してのみ機能し、JS では機能しないのでしょうか? matchMediaModernizr.mqを使用し、RespondにはmatchMediaポリフィルが含まれていると思いましたが、それでも機能しません。

では、IE 8 で作業するにはどうすればよいModernizr.mqのでしょうか。

4

1 に答える 1

0

ポリフィルをロードしても Modernizr はテストの値を変更しないため、ブラウザーがメディア クエリをサポートしていない場合はModernizr.mq()が返さfalseれ、Respondjs ポリフィルを追加してもそれは変わりません。

申し訳ありません。

そうは言っても、ポリフィルが読み込まれている場合は、古いブラウザーをサポートするためにできる限りのことを既に行っているため (Respondjs は IE6/7/8 をサポートしています)、Modernizr フラグを使用して達成できることはそれほど多くありません。 . 、理論的には、すべてのブラウザーが機能をサポートする必要があるため、ポリフィルを配置して Modernizr テストを使用する必要はありません。

于 2013-02-09T16:02:47.587 に答える