/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
|
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
|
|
(function(w){
|
"use strict";
|
w.matchMedia = w.matchMedia || (function( doc, undefined ) {
|
|
var bool,
|
docElem = doc.documentElement,
|
refNode = docElem.firstElementChild || docElem.firstChild,
|
// fakeBody required for <FF4 when executed in <head>
|
fakeBody = doc.createElement( "body" ),
|
div = doc.createElement( "div" );
|
|
div.id = "mq-test-1";
|
div.style.cssText = "position:absolute;top:-100em";
|
fakeBody.style.background = "none";
|
fakeBody.appendChild(div);
|
|
return function(q){
|
|
div.innerHTML = "­<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
|
|
docElem.insertBefore( fakeBody, refNode );
|
bool = div.offsetWidth === 42;
|
docElem.removeChild( fakeBody );
|
|
return {
|
matches: bool,
|
media: q
|
};
|
|
};
|
|
}( w.document ));
|
}( this ));
|