我正在尝试找出让enquire.js在传统浏览器(即6-9)上工作的最好方法。在enquire的网站上,它说要使用matchMedia来检查是否支持polyfill,如果不支持,则加载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.mq()中包含了它。
Used in:
Respond.js
FormFactor
Modernizr
https://github.com/paulirish/matchMedia.js/我已经调查过了,但找不到一种方法来解决这个问题。
发布于 2013-01-19 00:47:45
在这里询问作者!
因此,关于matchMedia polyfill总是有一些混淆。它不会将CSS3媒体查询支持填充到传统浏览器中。它所做的是为那些支持matchMedia媒体查询但不提供此API的浏览器多填充CSS3 javascript API。有关support for matchMedia的信息,请参阅此处。例如,IE9支持CSS3媒体查询,但没有matchMedia JS,这是Paul爱尔兰的matchMedia polyfill的目标。
如果你正在寻找一个功能齐全的polyfill,它可以为旧浏览器提供良好的媒体查询支持,我可以建议使用David Knight的media-match吗?我和他一起工作来测试这一点,并且已经证明了对IE6的支持--它很有魅力:)你可以在这里找到:https://github.com/weblinc/media-match。你可以像我建议的那样有条件地加载它,只需替换适当的部分即可。
希望这对你有所帮助,很乐意回答你任何进一步的问题。
https://stackoverflow.com/questions/14402932
复制相似问题