Eugene Gluhotorenko
Eugene Gluhotorenko

Reputation: 3164

matchMedia returns null when the FireBug is enabled

My web application uses matchMedia. Sometimes call of this function returns null no matter what value is passed. It is strange but it happens not always (maybe 1 of 3 times) and only in FireFox with opened FireBug. Did anybody face with such issue ?

Upvotes: 2

Views: 2127

Answers (3)

httpete
httpete

Reputation: 2983

I found I had to do this:

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; 
}

Upvotes: 0

Uzair Bin Nisar
Uzair Bin Nisar

Reputation: 705

Matchmedia returns null in case of hidden iframe, You can use this code before accessing window.matchmedia

if(typeof window.matchMedia == 'function' && window.matchMedia!=undefined && window.matchMedia('screen and (max-width: 650px)')!=null){ //Your code goes here }

Upvotes: 3

gvas
gvas

Reputation: 327

It seems that matchMedia() returns null in FF when it's called in a hidden (display: none) iframe. I've encountered this behavior when I've used jQuery UI's tabs widget, and the tab panels were iframes. My workaround was to override the jQuery UI's .ui-tabs-hide CSS class:

.ui-tabs-hide { display: block !important; position: absolute; left: -99999px; }

Upvotes: 8

Related Questions