我的网络应用程序使用matchMedia
。无论传递什么值,有时调用此函数都会返回null
。这很奇怪,但它并不总是(可能是3次中的1次),而且仅在FireFox中打开FireBug。有没有人面对这样的问题?
答案 0 :(得分:8)
似乎matchMedia()在隐藏(display:none)iframe中调用时在FF中返回null。 当我使用jQuery UI的标签小部件时,我遇到了这种行为,标签面板是iframe。我的解决方法是覆盖jQuery UI的.ui-tabs-hide CSS类:
.ui-tabs-hide { display: block !important; position: absolute; left: -99999px; }
答案 1 :(得分:3)
Matchmedia在隐藏iframe的情况下返回null,您可以在访问window.matchmedia之前使用此代码
if(typeof window.matchMedia == 'function' && window.matchMedia!=undefined && window.matchMedia('screen and (max-width: 650px)')!=null){
//Your code goes here
}
答案 2 :(得分:0)
我发现我必须这样做:
if (w.matchMedia == null ){
format = uformat;
} else if(w.matchMedia(qo) != null) {
if (w.matchMedia(qo).matches || w.matchMedia(q).matches ) { format = mformat; }
} else {
format = uformat;
}