MediaWiki:Common.js: differenze tra le versioni
Aspetto
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 1: | Riga 1: | ||
/* QUANTCAST GDPR*/ | /* QUANTCAST GDPR*/ | ||
(function() { | |||
var host = window.location.hostname; | |||
var element = document.createElement('script'); | |||
var firstScript = document.getElementsByTagName('script')[0]; | |||
var url = 'https://quantcast.mgr.consensu.org'.concat('/choice/', 'hK2b6w2mQ7J22', '/', host, '/choice.js') | |||
var uspTries = 0; | |||
var uspTriesLimit = 3; | |||
element.async = true; | |||
element.type = 'text/javascript'; | |||
var | element.src = url; | ||
firstScript.parentNode.insertBefore(element, firstScript); | |||
function makeStub() { | |||
var TCF_LOCATOR_NAME = '__tcfapiLocator'; | |||
var queue = []; | |||
var win = window; | |||
var cmpFrame; | |||
function addFrame() { | function addFrame() { | ||
var doc = win.document; | |||
if ( | var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]); | ||
if (!otherCMP) { | |||
if (doc.body) { | |||
var iframe = doc.createElement('iframe'); | |||
iframe.style.cssText = 'display:none'; | |||
iframe.name = TCF_LOCATOR_NAME; | |||
doc.body.appendChild(iframe); | |||
} else { | } else { | ||
setTimeout(addFrame, 5); | |||
} | } | ||
} | |||
return !otherCMP; | |||
} | |||
function tcfAPIHandler() { | |||
var gdprApplies; | |||
var args = arguments; | |||
if (!args.length) { | |||
return queue; | |||
} else if (args[0] === 'setGdprApplies') { | |||
if ( | |||
args.length > 3 && | |||
args[2] === 2 && | |||
typeof args[3] === 'boolean' | |||
) { | |||
gdprApplies = args[3]; | |||
if (typeof args[2] === 'function') { | |||
args[2]('set', true); | |||
} | |||
} | } | ||
} else if (args[0] === 'ping') { | |||
var retr = { | |||
gdprApplies: gdprApplies, | |||
cmpLoaded: false, | |||
cmpStatus: 'stub' | |||
}; | |||
if (typeof args[2] === 'function') { | |||
args[2](retr); | |||
} | |||
} else { | |||
queue.push(args); | |||
} | |||
} | } | ||
function | function postMessageEventHandler(event) { | ||
var msgIsString = typeof event.data === 'string'; | |||
var json = {}; | |||
if(msgIsString) { | |||
try { | |||
if (msgIsString) { | |||
json = JSON.parse(event.data); | |||
} else { | } else { | ||
json = event.data; | |||
} | } | ||
} catch (ignore) {} | |||
window. | var payload = json.__tcfapiCall; | ||
var returnMsg = { | |||
if (payload) { | |||
window.__tcfapi( | |||
payload.command, | |||
payload.version, | |||
function(retValue, success) { | |||
var returnMsg = { | |||
}); | __tcfapiReturn: { | ||
returnValue: retValue, | |||
success: success, | |||
callId: payload.callId | |||
} | |||
}; | |||
if (msgIsString) { | |||
returnMsg = JSON.stringify(returnMsg); | |||
} | |||
event.source.postMessage(returnMsg, '*'); | |||
}, | |||
payload.parameter | |||
); | |||
} | |||
} | |||
while (win) { | |||
try { | |||
if (win.frames[TCF_LOCATOR_NAME]) { | |||
cmpFrame = win; | |||
break; | |||
} | } | ||
} catch (ignore) {} | |||
if (win === window.top) { | |||
break; | |||
} | |||
win = win.parent; | |||
} | |||
if (!cmpFrame) { | |||
addFrame(); | |||
win.__tcfapi = tcfAPIHandler; | |||
win.addEventListener('message', postMessageEventHandler, false); | |||
} | } | ||
}; | |||
makeStub(); | |||
var uspStubFunction = function() { | |||
var arg = arguments; | |||
if (typeof window.__uspapi !== uspStubFunction) { | |||
setTimeout(function() { | |||
if (typeof window.__uspapi !== 'undefined') { | |||
window.__uspapi.apply(window.__uspapi, arg); | |||
if (typeof | |||
} | } | ||
}, 500); | |||
} | } | ||
}; | |||
var checkIfUspIsReady = function() { | |||
uspTries++; | |||
if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) { | |||
console.warn('USP is not accessible'); | |||
} else { | |||
clearInterval(uspInterval); | |||
} | } | ||
}; | |||
if (typeof window.__uspapi === 'undefined') { | |||
window.__uspapi = uspStubFunction; | |||
var uspInterval = setInterval(checkIfUspIsReady, 6000); | |||
} | |||
})(); | |||
/* FINE QUANTCAST GDPR*/ | /* FINE QUANTCAST GDPR*/ | ||
Versione delle 17:15, 15 nov 2020
/* QUANTCAST GDPR*/
(function() {
var host = window.location.hostname;
var element = document.createElement('script');
var firstScript = document.getElementsByTagName('script')[0];
var url = 'https://quantcast.mgr.consensu.org'.concat('/choice/', 'hK2b6w2mQ7J22', '/', host, '/choice.js')
var uspTries = 0;
var uspTriesLimit = 3;
element.async = true;
element.type = 'text/javascript';
element.src = url;
firstScript.parentNode.insertBefore(element, firstScript);
function makeStub() {
var TCF_LOCATOR_NAME = '__tcfapiLocator';
var queue = [];
var win = window;
var cmpFrame;
function addFrame() {
var doc = win.document;
var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);
if (!otherCMP) {
if (doc.body) {
var iframe = doc.createElement('iframe');
iframe.style.cssText = 'display:none';
iframe.name = TCF_LOCATOR_NAME;
doc.body.appendChild(iframe);
} else {
setTimeout(addFrame, 5);
}
}
return !otherCMP;
}
function tcfAPIHandler() {
var gdprApplies;
var args = arguments;
if (!args.length) {
return queue;
} else if (args[0] === 'setGdprApplies') {
if (
args.length > 3 &&
args[2] === 2 &&
typeof args[3] === 'boolean'
) {
gdprApplies = args[3];
if (typeof args[2] === 'function') {
args[2]('set', true);
}
}
} else if (args[0] === 'ping') {
var retr = {
gdprApplies: gdprApplies,
cmpLoaded: false,
cmpStatus: 'stub'
};
if (typeof args[2] === 'function') {
args[2](retr);
}
} else {
queue.push(args);
}
}
function postMessageEventHandler(event) {
var msgIsString = typeof event.data === 'string';
var json = {};
try {
if (msgIsString) {
json = JSON.parse(event.data);
} else {
json = event.data;
}
} catch (ignore) {}
var payload = json.__tcfapiCall;
if (payload) {
window.__tcfapi(
payload.command,
payload.version,
function(retValue, success) {
var returnMsg = {
__tcfapiReturn: {
returnValue: retValue,
success: success,
callId: payload.callId
}
};
if (msgIsString) {
returnMsg = JSON.stringify(returnMsg);
}
event.source.postMessage(returnMsg, '*');
},
payload.parameter
);
}
}
while (win) {
try {
if (win.frames[TCF_LOCATOR_NAME]) {
cmpFrame = win;
break;
}
} catch (ignore) {}
if (win === window.top) {
break;
}
win = win.parent;
}
if (!cmpFrame) {
addFrame();
win.__tcfapi = tcfAPIHandler;
win.addEventListener('message', postMessageEventHandler, false);
}
};
makeStub();
var uspStubFunction = function() {
var arg = arguments;
if (typeof window.__uspapi !== uspStubFunction) {
setTimeout(function() {
if (typeof window.__uspapi !== 'undefined') {
window.__uspapi.apply(window.__uspapi, arg);
}
}, 500);
}
};
var checkIfUspIsReady = function() {
uspTries++;
if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
console.warn('USP is not accessible');
} else {
clearInterval(uspInterval);
}
};
if (typeof window.__uspapi === 'undefined') {
window.__uspapi = uspStubFunction;
var uspInterval = setInterval(checkIfUspIsReady, 6000);
}
})();
/* FINE QUANTCAST GDPR*/