query .js遗留支持

enquire.js legacy support

本文关键字:支持 js query      更新时间:2023-09-26

我试图找出什么是最好的方法来获得query .js工作在传统浏览器(即6-9)。在enquire的网站上,它说使用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/

我已经研究过这个问题了,但是找不到解决这个问题的方法。

此处查询作者!

所以关于matchMedia polyfill总是有一点困惑。它没有将CSS3媒体查询支持填充到传统浏览器中。它所做的是为那些支持CSS3媒体查询但不提供此API的浏览器填充matchMedia javascript API。查看这里对matchMedia的支持。例如,IE9支持CSS3媒体查询,但没有matchMedia JS API,这是Paul Irish的matchMedia polyfill的目标。

如果你正在寻找一个功能齐全的polyfill,它可以为旧的浏览器提供体面的媒体查询支持,我可以建议使用David Knight的media-match吗?我和他一起进行了测试,并证明了支持IE6的所有方式-它很有魅力:)你可以在这里找到:https://github.com/weblinc/media-match。你可以有条件地加载它完全按照我建议的Modernizr,只是替换适当的部分。

希望有帮助,很高兴回答任何进一步的问题你有。