PageSourceSearch

https://maskenzauber.com/wp-content/plugins/matomo/assets/js/optout.js?ver=5.13.1

js maskenzauber.com collected 2026-09-27 03:51:18 UTC 3,623 bytes, 105 lines download raw bytes

1(function () {
2    var cookiename = 'mtm_consent_removed';
3
4    function listen_event(e, type, callback) {
5        if (e.addEventListener) {
6            return e.addEventListener(type, callback, false);
7        }
8
9        if (e.attachEvent) {
10            return e.attachEvent('on' + type, callback);
11        }
12
13        e['on' + type] = callback;
14    }
15    function by_id(id) {
16        return document.getElementById(id);
17    }
18    function are_cookies_disabled() {
19        return navigator && !navigator.cookieEnabled;
20    }
21    function set_display(id, status)
22    {
23        var e = by_id(id);
24        if (e) {
25            e.style.display = status;
26        }
27    }
28    function is_opted_out() {
29        // piwik_ignore check for BC.
30        return document.cookie && (document.cookie.indexOf(cookiename + '=1') !== -1 || document.cookie.indexOf('piwik_ignore=') !== -1);
31    }
32    function update_status()
33    {
34        if (are_cookies_disabled()) {
35            set_display('matomo_outout_err_cookies', 'block');
36            set_display('matomo_optout_checkbox', 'none');
37        } else if (is_opted_out()) {
38            set_display('matomo_opted_out_intro', 'block');
39            set_display('matomo_opted_in_intro', 'none');
40            set_display('matomo_opted_out_label', 'inline');
41            set_display('matomo_opted_in_label', 'none');
42            by_id('matomo_optout_checkbox').checked = false;
43        } else {
44            set_display('matomo_opted_out_intro', 'none');
45            set_display('matomo_opted_in_intro', 'block');
46            set_display('matomo_opted_out_label', 'none');
47            set_display('matomo_opted_in_label', 'inline');
48            by_id('matomo_optout_checkbox').checked = true;
49        }
50    }
51    function on_ready(callback) {
52        if (document.readyState === 'complete' || document.readyState === 'interactive') {
53            setTimeout(callback, 1);
54        } else {
55            document.addEventListener('DOMContentLoaded', callback);
56        }
57    }
58
59    function set_cookie(name, val, expires, path, domain)
60    {
61        var cookie = name + '=' + val + ';expires=' + expires + ';SameSite=Lax;path=' + (path || '/');
62        if (domain) {
63            cookie += ';domain=' + domain;
64        }
65        document.cookie = cookie;
66    }
67
68    on_ready(function () {
69        update_status();
70
71        if (are_cookies_disabled()) {
72            return;
73        }
74
75        listen_event(by_id('matomo_optout_checkbox'),'change', function () {
76            var trackers = [];
77            if ('object' === typeof window.Piwik && 'function' === typeof Piwik.getAsyncTrackers) {
78                trackers = Piwik.getAsyncTrackers();
79            }
80            var value = 0;
81            var expires = 'Thu, 01 Jan 1970 00:00:01 GMT'
82            if (is_opted_out()) {
83                // for BC additionally remove any set piwik_ignore cookie
84                set_cookie('piwik_ignore', 0, expires, '/');
85            } else {
86                value = 1;
87                var expire = new Date();
88                expire.setTime(expire.getTime() + (86400 * 365 * 30 * 1000));
89                expires = expire.toGMTString();
90            }
91
92            if (trackers.length) {
93                // respect tracker settings
94                for (var i = 0; i < trackers.length; i++) {
95                    set_cookie(cookiename, value, expires, trackers[i].getCookiePath(), trackers[i].getCookieDomain());
96                }
97            } else {
98                // fallback
99                set_cookie(cookiename, value, expires, '/');
100            }
101
102            update_status();
103        });
104    })
105})();

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.