PageSourceSearch

https://thomas-mann-gesellschaft.de/javascript/matchMedia.js

js thomas-mann-gesellschaft.de collected 2026-09-24 09:54:07 UTC 1,700 bytes, 46 lines download raw bytes

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.