enquire.js遗产支持

时间:2013-01-18 16:11:18

标签: 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"
]);

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

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

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

1 个答案:

答案 0 :(得分:20)

在这里询问作者!

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

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

希望有帮助,很乐意回答您的任何进一步问题。