PageSourceSearch

https://www.crn.de/scripts/gdpr.js

js crn.de collected 2026-10-02 03:27:58 UTC 7,434 bytes, 183 lines download raw bytes

1/* eslint-disable */
2function loadScript(src, callback) {
3  const script = document.createElement('script');
4  script.type = 'text/javascript';
5  script.src = src;
6  script.async = true;
7  script.onload = function () {
8    if (callback && typeof callback === 'function') {
9      callback();
10    }
11  };
12  document.head.appendChild(script);
13}
14
15'use strict';
16function _typeof(t) {
17  return (_typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'
18    ? function (t) { return typeof t; }
19    : function (t) { return t && typeof Symbol === 'function' && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; })(t);
20}
21
22!(function () {
23  const t = function () {
24    let t;
25    let e;
26    const o = [];
27    const n = window;
28    let r = n;
29    for (;r;) {
30      try {
31        if (r.frames.__tcfapiLocator) {
32          t = r;
33          break;
34        }
35      } catch (t) {}
36      if (r === n.top) break;
37      r = r.parent;
38    }
39    t || (!(function t() {
40      const e = n.document;
41      const o = !!n.frames.__tcfapiLocator;
42      if (!o) if (e.body) {
43        const r = e.createElement('iframe');
44        r.style.cssText = 'display:none';
45        r.name = '__tcfapiLocator';
46        e.body.appendChild(r);
47      } else setTimeout(t, 5);
48      return !o;
49    }()),
50    n.__tcfapi = function () {
51      for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
52      if (!n.length) return o;
53      n[0] === 'setGdprApplies'
54        ? n.length > 3 && parseInt(n[1], 10) === 2 && typeof n[3] === 'boolean' && (e = n[3], typeof n[2] === 'function' && n[2]('set', !0))
55        : n[0] === 'ping'
56          ? typeof n[2] === 'function' && n[2]({ gdprApplies: e, cmpLoaded: !1, cmpStatus: 'stub' })
57          : o.push(n);
58    },
59    n.addEventListener('message', ((t) => {
60      const e = typeof t.data === 'string';
61      let o = {};
62      if (e) try {
63        o = JSON.parse(t.data);
64      } catch (t) {}
65      else o = t.data;
66      const n = _typeof(o) === 'object' && o !== null ? o.__tcfapiCall : null;
67      n && window.__tcfapi(n.command, n.version, ((o, r) => {
68        const a = { __tcfapiReturn: { returnValue: o, success: r, callId: n.callId } };
69        t && t.source && t.source.postMessage && t.source.postMessage(e ? JSON.stringify(a) : a, '*');
70      }), n.parameter);
71    }), !1));
72  };
73  typeof module !== 'undefined' ? module.exports = t : t();
74}());
75
76(function () {
77  window.__gpp_addFrame = function (e) {
78    if (!window.frames[e]) if (document.body) {
79      var t = document.createElement('iframe');
80      t.style.cssText = 'display:none';
81      t.name = e;
82      document.body.appendChild(t);
83    } else window.setTimeout(window.__gpp_addFrame, 10, e);
84  };
85
86  window.__gpp_stub = function () {
87    var e = arguments;
88    if (__gpp.queue = __gpp.queue || [], __gpp.events = __gpp.events || [], !e.length || 1 == e.length && 'queue' == e[0]) return __gpp.queue;
89    if (1 == e.length && 'events' == e[0]) return __gpp.events;
90    var t = e[0], p = e.length > 1 ? e[1] : null, s = e.length > 2 ? e[2] : null;
91    if ('ping' === t) p({ gppVersion: '1.1', cmpStatus: 'stub', cmpDisplayStatus: 'hidden', signalStatus: 'not ready', supportedAPIs: ['2:tcfeuv2', '5:tcfcav1', '6:uspv1', '7:usnat', '8:usca', '9:usva', '10:usco', '11:usut', '12:usct'], cmpId: 0, sectionList: [], applicableSections: [], gppString: '', parsedSections: {} }, !0);
92    else if ('addEventListener' === t) {
93      'lastId' in __gpp || (__gpp.lastId = 0), __gpp.lastId++;
94      var n = __gpp.lastId;
95      __gpp.events.push({ id: n, callback: p, parameter: s }), p({ eventName: 'listenerRegistered', listenerId: n, data: !0, pingData: { gppVersion: '1.1', cmpStatus: 'stub', cmpDisplayStatus: 'hidden', signalStatus: 'not ready', supportedAPIs: ['2:tcfeuv2', '5:tcfcav1', '6:uspv1', '7:usnat', '8:usca', '9:usva', '10:usco', '11:usut', '12:usct'], cmpId: 0, sectionList: [], applicableSections: [], gppString: '', parsedSections: {} } }, !0);
96    } else if ('removeEventListener' === t) {
97      for (var a = !1, i = 0; i < __gpp.events.length; i++) if (__gpp.events[i].id == s) {
98        __gpp.events.splice(i, 1), a = !0;
99        break;
100      }
101      p({ eventName: 'listenerRemoved', listenerId: s, data: a, pingData: { gppVersion: '1.1', cmpStatus: 'stub', cmpDisplayStatus: 'hidden', signalStatus: 'not ready', supportedAPIs: ['2:t
101cfeuv2', '5:tcfcav1', '6:uspv1', '7:usnat', '8:usca', '9:usva', '10:usco', '11:usut', '12:usct'], cmpId: 0, sectionList: [], applicableSections: [], gppString: '', parsedSections: {} } }, !0);
102    } else 'hasSection' === t ? p(!1, !0) : 'getSection' === t || 'getField' === t ? p(null, !0) : __gpp.queue.push([].slice.apply(e));
103  };
104
105  window.__gpp_msghandler = function (e) {
106    var t = 'string' == typeof e.data;
107    try {
108      var p = t ? JSON.parse(e.data) : e.data;
109    } catch (e) {
110      p = null;
111    }
112    if ('object' == typeof p && null !== p && '__gppCall' in p) {
113      var s = p.__gppCall;
114      window.__gpp(s.command, (function (p, n) {
115        var a = { __gppReturn: { returnValue: p, success: n, callId: s.callId } };
116        e.source.postMessage(t ? JSON.stringify(a) : a, '*');
117      }), 'parameter' in s ? s.parameter : null, 'version' in s ? s.version : '1.1');
118    }
119  };
120
121  '__gpp' in window && 'function' == typeof window.__gpp || (window.__gpp = window.__gpp_stub, window.addEventListener('message', window.__gpp_msghandler, !1), window.__gpp_addFrame('__gppLocator'));
122}());
123
124const siteName = document.querySelector('meta[name="theme"]').content;
125function identifySite(siteName) {
126  const site = {
127    'mescomputing-com': 'http://mescomputing.com',
128    'channelweb-co-uk': 'http://channelweb.co.uk',
129    'computing-co-uk': 'http://computing.co.uk',
130    'crn-de': 'http://crn.de',
131    'computing-de': 'http://computingdeutschland.de',
132    'crn-asia': 'http://crnasia.com',
133    'crn-australia': 'http://crn.com.au',
134  };
135
136  return site[siteName] ?? console.error('Cookie policy failed to load because site was not identified.');
137}
138
139const isGermanSite = siteName === 'crn-de' || siteName === 'computing-de';
140
141window._sp_queue = [];
142window._sp_ = {
143  config: {
144    accountId: 1852,
145    baseEndpoint: 'https://cdn.privacy-mgmt.com',
146    propertyHref: `${identifySite(siteName)}`,
147    // Force German copy for DE properties (messages default to DE but otherwise follow browser language).
148    ...(isGermanSite ? { consentLanguage: 'de' } : {}),
149    usnat: { },
150    gdpr: { },
151    events: {
152      onMessageReady() {
153        console.log('[event] onMessageReady', arguments);
154      },
155      onMessageReceiveData() {
156        console.log('[event] onMessageReceiveData', arguments);
157      },
158      onSPReady() {
159        console.log('[event] onSPReady', arguments);
160      },
161      onError() {
162        console.log('[event] onError', arguments);
163      },
164      onMessageChoiceSelect() {
165        console.log('[event] onMessageChoiceSelect', arguments);
166      },
167      onConsentReady(consentUUID, euconsent) {
168        console.log('[event] onConsentReady', arguments);
169      },
170      onPrivacyManagerAction() {
171        console.log('[event] onPrivacyManagerAction', arguments);
172      },
173      onPMCancel() {
174        console.log('[event] onPMCancel', arguments);
175      }
176    }
177  }
178};
179
180loadScript('https://cdn.privacy-mgmt.com/unified/wrapperMessagingWithoutDetection.js', () => {
181  console.log('External script has been loaded.');
182});
183

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.