1/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ 2 3window.matchMedia || (window.matchMedia = function() { 4 "use strict"; 5 6 // For browsers that support matchMedium api such as IE 9 and webkit 7 var styleMedia = (window.styleMedia || window.media); 8 9 // For those that don't support matchMedium 10 if (!styleMedia) { 11 var style = document.createElement('style'), 12 script = document.getElementsByTagName('script')[0], 13 info = null; 14 15 style.type = 'text/css'; 16 style.id = 'matchmediajs-test'; 17 18 script.parentNode.insertBefore(style, script); 19 20 // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers 21 info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; 22 23 styleMedia = { 24 matchMedium: function(media) { 25 var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; 26 27 // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers 28 if (style.styleSheet) { 29 style.styleSheet.cssText = text; 30 } else { 31 style.textContent = text; 32 } 33 34 // Test if media query is true or false 35 return info.width === '1px'; 36 } 37 }; 38 } 39 40 return function(media) { 41 return { 42 matches: styleMedia.matchMedium(media || 'all'), 43 media: media || 'all' 44 }; 45 }; 46}());
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.