[Hejes-devel] [1910] add Quantcast consent management platform
hejes-devel at nytud.hu
hejes-devel at nytud.hu
Thu Aug 13 18:50:56 CEST 2020
Revision: 1910
Author: mittelholcz
Date: 2020-08-13 18:50:55 +0200 (Thu, 13 Aug 2020)
Log Message:
-----------
add Quantcast consent management platform
Modified Paths:
--------------
trunk/web2py/applications/helyesiras_webdev/views/layout.html
Modified: trunk/web2py/applications/helyesiras_webdev/views/layout.html
===================================================================
--- trunk/web2py/applications/helyesiras_webdev/views/layout.html 2020-08-05 16:54:28 UTC (rev 1909)
+++ trunk/web2py/applications/helyesiras_webdev/views/layout.html 2020-08-13 16:50:55 UTC (rev 1910)
@@ -2,6 +2,166 @@
<html lang="{{=T.accepted_language or 'en'}}" class="no-js" xmlns:fb="http://ogp.me/ns/fb#"><!-- no-js need it for modernzr -->
<head>
+<!-- BEGIN Consent Management Platform-->
+<!-- Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
+<script type="text/javascript" async=true>
+(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/', '9DDGU5EZ7j3zs', '/', 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);
+ }
+})();
+</script>
+<!-- End Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
+<!-- END Consent Management Platform-->
+
<!-- BEGIN: INFINETY -->
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
More information about the Hejes-devel
mailing list