PageSourceSearch

https://indiebox.ai/matomo.js

js indiebox.ai collected 2026-10-05 14:13:47 UTC 3,725 bytes, 81 lines download raw bytes

1(function () {
2  if (/^(localhost|127\.0\.0\.1|0\.0\.0\.0)$/.test(window.location.hostname)) return;
3
4  var _paq = window._paq = window._paq || [];
5  _paq.push(['disableCookies']);
6  _paq.push(['trackPageView']);
7  _paq.push(['enableLinkTracking']);
8  (function () {
9    var u = 'https://shutter.matomo.cloud/';
10    _paq.push(['setTrackerUrl', u + 'matomo.php']);
11    _paq.push(['setSiteId', '8']);
12    var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
13    g.async = true;
14    g.src = 'https://cdn.matomo.cloud/shutter.matomo.cloud/matomo.js';
15    s.parentNode.insertBefore(g, s);
16  })();
17
18  var CONSENT_KEY = 'ib_analytics_consent';
19  var consent = localStorage.getItem(CONSENT_KEY);
20  var isEN = document.documentElement.lang === 'en';
21  var privacyHref = isEN ? '/en/privacy.html' : '/datenschutz.html';
22  var copy = isEN ? {
23    text: 'This site uses Matomo Analytics. By default, no cookies are set. Accept to allow cookies that recognize you on future visits. ',
24    link: 'Privacy policy',
25    accept: 'Yes please',
26    decline: 'No thanks'
27  } : {
28    text: 'Diese Website verwendet Matomo Analytics. Standardmäßig werden keine Cookies gesetzt. Akzeptieren Sie, um Cookies für die Wiedererkennung bei zukünftigen Besuchen zu erlauben. ',
29    link: 'Datenschutz',
30    accept: 'Ja, gerne',
31    decline: 'Nein danke'
32  };
33
34  if (consent === 'accepted') {
35    _paq.push(['rememberCookieConsentGiven']);
36  } else if (consent === null) {
37    var banner = document.createElement('div');
38    banner.id = 'ib-consent-banner';
39    banner.style.cssText = [
40      'position:fixed', 'bottom:24px', 'left:50%', 'transform:translateX(-50%)',
41      'z-index:9999', 'width:calc(100% - 48px)', 'max-width:640px',
42      'background:#0f2128', 'color:#e0e8ed', 'border-radius:12px',
43      'box-shadow:0 8px 32px rgba(0,0,0,0.32)', 'padding:20px 24px',
44      'font-family:Inter,system-ui,sans-serif', 'font-size:14px', 'line-height:1.6'
45    ].join(';');
46    banner.innerHTML = [
47      '<div style="display:flex;align-items:center;gap:20px;flex-wrap:wrap">',
48        '<p style="flex:1;margin:0;color:rgba(224,232,237,0.85)">',
49          copy.text,
50          '<a href="' + privacyHref + '" style="color:#ff9142">' + copy.link + '</a>',
51        '</p>',
52        '<div style="display:flex;gap:10px;flex-shrink:0">',
53          '<button id="ib-consent-accept" style="padding:9px 18px;border-radius:6px;background:#ff6314;color:#fff;border:none;font-weight:600;cursor:pointer;white-space:nowrap">' + copy.accept + '</button>',
54          '<button id="ib-consent-decline" style="padding:9px 18px;border-radius:6px;background:transparent;color:rgba(224,232,237,0.7);border:1px solid rgba(224,232,237,0.25);font-weight:600;cursor:pointer;white-space:nowrap">' + copy.decline + '</button>',
55        '</div>',
56      '</div>'
57    ].join('');
58
59    document.body.appendChild(banner);
60
61    document.getElementById('ib-consent-accept').addEventListener('click', function () {
62      localStorage.setItem(CONSENT_KEY, 'accepted');
63      banner.remove();
64      _paq.push(['rememberCookieConsentGiven']);
65    });
66
67    document.getElementById('ib-consent-decline').addEventListener('click', function () {
68      localStorage.setItem(CONSENT_KEY, 'declined');
69      banner.remove();
70    });
71  }
72
73  document.addEventListener('click', function (e) {
74    var btn = e.target && e.target.closest('[data-matomo-category]');
75    if (!btn || !window._paq) return;
76    var category = btn.getAttribute('data-matomo-category');
77    var action = btn.getAttribute('data-matomo-action') || 'click';
78    var label = btn.getAttribute('data-matomo-label') || '';
79    window._paq.push(['trackEvent', category, action, label]);
80  });
81})();

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.