8

enquire.js を従来のブラウザー (つまり 6-9) で動作させるための最良の方法を見つけようとしています。enquire のサイトでは、modernizr を使用して matchMedia のサポートを確認し、サポートされていない場合はポリフィルをロードするように指示されています。

Modernizr.load([
    //first test need for polyfill
    {
        test: window.matchMedia,
        nope: "/path/to/polyfill.js"
    },

    //and then load enquire
    "/path/to/enquire.js"
]);

それが示唆するポリフィルを見ると、modernizr にはすでに Modernizr.mq() が含まれていることがわかります。

    Used in:
    Respond.js
    FormFactor
    Modernizr
https://github.com/paulirish/matchMedia.js/

私はこれを調べましたが、これを機能させる方法が見つかりません。

4

1 に答える 1

20

作者へのお問い合わせはこちら!

そのため、matchMedia ポリフィルについては、常に少し混乱が生じます。CSS3 メディア クエリのサポートを従来のブラウザーにポリフィルしません。CSS3 メディア クエリをサポートしているが、この API を提供していないブラウザー用に、matchMedia JavaScript API をポリフィルします。matchMedia のサポートについては、こちらを参照してください。たとえば、IE9 は CSS3 メディア クエリをサポートしていますが、matchMedia JS API はありません。これは、Paul Irish の matchMedia ポリフィルのターゲットです。

古いブラウザーに適切なメディア クエリ サポートを提供するフル機能のポリフィルを探している場合は、David Knight のメディア マッチを使用することをお勧めできますか? 私は彼と協力してこれをテストし、IE6 までさかのぼってサポートを証明しました - それは魅力的です:) https://github.com/weblinc/media-match . Modernizr で提案したとおりに条件付きでロードできます。適切なパーツを置き換えるだけです。

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-01-18T16:47:45.420 に答える