Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 35b041e731
43 lines (39 sloc) 1.06 kb
/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
(function(){
// monkeypatch unsupported addListener/removeListener with polling
if( !window.matchMedia( "" ).addListener ){
var oldMM = window.matchMedia;
window.matchMedia = function( q ){
var ret = oldMM( q ),
listeners = [],
last = false,
timer,
check = function(){
var list = oldMM( q );
if( list.matches && !last ){
for( var i =0, il = listeners.length; i< il; i++ ){
listeners[ i ].call( ret, list );
}
}
last = list.matches;
};
ret.addListener = function( cb ){
listeners.push( cb );
if( !timer ){
timer = setInterval( check, 1000 );
}
};
ret.removeListener = function( cb ){
for( var i =0, il = listeners.length; i< il; i++ ){
if( listeners[ i ] === cb ){
listeners.splice( i, 1 );
}
}
if( !listeners.length && timer ){
clearInterval( timer );
}
};
return ret;
};
}
}());
Jump to Line
Something went wrong with that request. Please try again.