enquire.js遗产支持

Dan*_*Dan 8 javascript internet-explorer enquire.js

我试图找出让enquire.js在遗留浏览器上工作的最佳方法(即6-9).在查询的网站上,它说使用modernizr检查matchMedia支持,然后加载polyfill,如果它不受支持.

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

    //and then load enquire
    "/path/to/enquire.js"
]);
Run Code Online (Sandbox Code Playgroud)

看看它建议的polyfill,它说modernizr已经将它包含在Modernizr.mq()中.

    Used in:
    Respond.js
    FormFactor
    Modernizr
https://github.com/paulirish/matchMedia.js/
Run Code Online (Sandbox Code Playgroud)

我已经调查了这个,但找不到让这项工作的方法.

Wic*_*ams 20

在这里查询作者!

所以matchMedia polyfill总是有点混乱.它不会将CSS3媒体查询支持填充到旧版浏览器中.它的作用是为那些支持CSS3媒体查询但不提供此API的浏览器填充matchMedia javascript API.请参阅此处以获取matchMedia的支持.例如,IE9支持CSS3媒体查询,但没有matchMedia JS API,这是Paul Irish的matchMedia polyfill的目标.

如果你正在寻找一个功能齐全的polyfill,它可以为老版浏览器提供合适的媒体查询支持,我可以建议使用David Knight的媒体匹配吗?我和他一起工作来测试这个并且已经证明支持一直回到IE6 - 它有点魅力:)你可以在这里找到:https://github.com/weblinc/media-match.您可以完全按照我对Modernizr的建议有条件地加载它,只需更换相应的部件即可.

希望有所帮助,乐于回答您的任何进一步问题.