MediaWiki:Common.js : Différence entre versions

(Bannière pour cookies conformément à la loi en vigueur, NE SURTOUT PAS ENLEVER. Si vous éditez ce fichier, sachez que vous faites quelque chose de mal.)
(DSVGO)
Ligne 4 : Ligne 4 :
  
 
(function () {
 
(function () {
 
+
     var req = new XMLHttpRequest();
     var rem;
+
    req.addEventListener('load', function (ev) {
 
+
        if (this.status >= 200 && this.status < 300) {
function setPixel(meta, container_id) {
+
            var data = JSON.parse(this.responseText);
try {
+
            if (data.hasOwnProperty('version')) {
+
                var gdpr = document.createElement("script");
    injectEvaluationId(meta);
+
                gdpr.src = "https://s3-static.geo.gfsrv.net/cookiebanner/" + data.version + "/cookie.min.js";
+
                document.head.appendChild(gdpr);
rem = (container_id && document.getElementById(container_id))
 
? document.getElementById(container_id)
 
: document.createElement("div");
 
document.body.appendChild(rem);
 
 
var iframe = document.createElement("iframe");
 
 
iframe.style.width = '0';
 
iframe.style.height = '0';
 
iframe.style.display = 'block';
 
iframe.style.border = 'none';
 
iframe.setAttribute("frameborder", "0");
 
rem.appendChild(iframe);
 
 
var firstFormContent = "<head></head><body>" + buildForm(meta) + "</body>";
 
 
iframe.contentWindow.document.open();
 
iframe.contentWindow.document.write(firstFormContent);
 
iframe.contentWindow.document.close();
 
 
} catch (e) { }
 
}
 
 
function setSecondPixel(meta, baseFingerprint) {
 
  // inject baseFP into meta
 
  meta.fingerprint = baseFingerprint;
 
 
 
  // overwrite original location
 
  meta.location = "fp_eval";
 
 
 
  // store config id
 
  meta.fp2_config_id = 1;
 
 
  var secondFrame = document.createElement("iframe");
 
           
 
      secondFrame.style.width = '0';
 
      secondFrame.style.height = '0';
 
      secondFrame.style.display = 'block';
 
      secondFrame.style.border = 'none';
 
      secondFrame.setAttribute("frameborder", "0");
 
      rem.appendChild(secondFrame);
 
     
 
      var secondFormContent = "<head></head><body>" + buildSecondForm(meta) + "</body>";
 
     
 
      secondFrame.contentWindow.document.open();
 
      secondFrame.contentWindow.document.write(secondFormContent);
 
      secondFrame.contentWindow.document.close();
 
}
 
 
function injectEvaluationId(meta) {
 
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
 
    var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
 
    return v.toString(16);
 
});
 
meta.fp_eval_id = uuid;
 
}
 
 
function buildForm(meta) {
 
var url = (meta.pz_debug_url !== undefined)
 
? meta.pz_debug_url
 
: 'https://pixelzirkus.gameforge.com';
 
 
var form = '';
 
form += '<script>inDapIF = true;</script>';
 
form += '<script src="' + url + '/static/js/E6gg7P33.js"></script>';
 
 
var meta_json = ''; try { meta_json = JSON.stringify(meta); } catch (e) {}
 
form += '<script>var meta_json = \'' + meta_json + '\';</script>';
 
form += '<script>var meta = {}; try { meta = JSON.parse(meta_json); } catch (e) {}</script>';
 
 
form += '<form id="gf_pz_form" action="' + url + '/do/simple" method="POST" accept-charset="UTF-8">';
 
 
var key, value;
 
for (key in meta) {
 
if (key.indexOf('pz_debug') !== -1) {
 
continue;
 
}
 
 
value = meta[key];
 
value = value + "";
 
value = value.replace(/"/g, "");
 
form += '<input type="hidden" name="' + key + '" value="' + value + '" />';
 
}
 
 
if (!meta.page) {
 
form += '<input type="hidden" name="page" value="' + window.location + '" />';
 
}
 
if (!meta.referrer) {
 
form += '<input type="hidden" name="referrer" value="' + document.referrer + '" />';
 
}
 
 
form += '</form>';
 
form += '<script>';
 
form += 'var input_fp = document.createElement("input"); input_fp.type = "hidden"; input_fp.name = "fingerprint"; input_fp.value = "unknown"; document.getElementById("gf_pz_form").appendChild(input_fp);';
 
form += 'var input_fp_exec = document.createElement("input"); input_fp_exec.type = "hidden"; input_fp_exec.name = "fp_exec_time"; input_fp_exec.value = -1; document.getElementById("gf_pz_form").appendChild(input_fp_exec);';
 
form += 'try {';
 
form += '    var startTime = window.performance.now();';
 
form += '    var fp = new Fingerprint().get();';
 
form += '    var exec_time = window.performance.now() - startTime;';
 
form += '    input_fp.value = fp;';
 
        form += '    input_fp_exec.value = exec_time.toFixed(2);';
 
        form += '    parent.window.setSecondPixel(meta, fp);';
 
form += '} catch (e) {}';
 
form += 'document.getElementById("gf_pz_form").submit();';
 
form += '</script>';
 
 
return form;
 
}
 
 
    function buildSecondForm(meta) {
 
        var url = (meta.pz_debug_url !== undefined)
 
            ? meta.pz_debug_url
 
            : 'https://pixelzirkus.gameforge.com';
 
       
 
        var form = '';
 
        form += '<script>inDapIF = true;</script>';
 
        form += '<script src="' + url + '/static/js/GT7h68ox.js"></script>';
 
        form += '<form id="gf_pz_form" action="' + url + '/do/simple" method="POST" accept-charset="UTF-8">';
 
   
 
        var key, value;
 
        for (key in meta) {
 
            if (key.indexOf('pz_debug') !== -1) {
 
                continue;
 
 
             }
 
             }
           
 
            value = meta[key];
 
            value = value + "";
 
            value = value.replace(/"/g, "");
 
            form += '<input type="hidden" name="' + key + '" value="' + value + '" />';
 
 
         }
 
         }
      
+
     });
        if (!meta.page) {
+
     req.open('GET', "https://s3-static.geo.gfsrv.net/cookiebanner/version.json");
            form += '<input type="hidden" name="page" value="' + window.location + '" />';
+
     req.send();
        }
 
        if (!meta.referrer) {
 
            form += '<input type="hidden" name="referrer" value="' + document.referrer + '" />';
 
        }
 
       
 
        form += '</form>';
 
        form += '<script>';
 
        form += 'var input_fp = document.createElement("input"); input_fp.type = "hidden"; input_fp.name = "fp2_value"; document.getElementById("gf_pz_form").appendChild(input_fp);';
 
        form += 'var input_fp_exec = document.createElement("input"); input_fp_exec.type = "hidden"; input_fp_exec.name = "fp2_exec_time"; document.getElementById("gf_pz_form").appendChild(input_fp_exec);';
 
        form += 'try {';
 
        form += '    var startTime = window.performance.now();';
 
        form += '    new Fingerprint2().get(function(fingerprint) {';
 
        form += '        input_fp.value = fingerprint;';
 
        form += '        var exec_time = window.performance.now() - startTime;';
 
        form += '        input_fp_exec.value = exec_time.toFixed(2);';
 
        form += '        document.getElementById("gf_pz_form").submit();';
 
        form += '    })';
 
        form += '} catch (e) {}';
 
        form += '</script>';
 
      
 
        return form;
 
    }
 
   
 
    function capturePixel(meta) {
 
        if (!meta.page) {
 
            meta.page = window.location.href;
 
        }
 
       
 
        if (!meta.referrer) {
 
            meta.referrer = document.referrer;
 
        }
 
     
 
        return meta;
 
    }
 
   
 
    function firePixels(meta, container_id) {
 
        try {
 
            var container = (container_id !== undefined && document.getElementById(container_id))
 
                ? document.getElementById(container_id)
 
                : document.createElement("div");
 
   
 
            var iframe = document.createElement("iframe");
 
           
 
            iframe.style.width = '0';
 
            iframe.style.height = '0';
 
            iframe.style.display = 'block';
 
            iframe.style.border = 'none';
 
            iframe.setAttribute("frameborder", "0");
 
            document.body.appendChild(container);
 
            container.appendChild(iframe);
 
     
 
            iframe.contentWindow.document.open();
 
            iframe.contentWindow.document.write("<head></head><body>" + buildMultiForm(meta) + "</body>");
 
            iframe.contentWindow.document.close();
 
     
 
            if (window.location.search.indexOf("pz_debug") !== -1) {
 
                window.pz_debug = meta;
 
            }
 
        } catch (e) {}
 
    }
 
   
 
    function buildMultiForm(meta) {
 
        var url = 'https://pixelzirkus.gameforge.com';
 
       
 
        var form;
 
        form  = '<script src="' + url + '/static/js/E6gg7P33.js"></script>';
 
        form += '<form id="gf_pz_form" action="' + url + '/do/multi" method="POST" accept-charset="UTF-8">';
 
   
 
        form += '<input type="hidden" name="pixels" value="' + escapeHtml(JSON.stringify(meta)) + '" />';
 
       
 
        form += '</form>';
 
        form += '<script>';
 
        form += 'var input_fp = document.createElement("input"); input_fp.type = "hidden"; input_fp.name = "fingerprint"; input_fp.value = "unknown"; document.getElementById("gf_pz_form").appendChild(input_fp); ';
 
        form += 'try {';
 
        form += '    input_fp.value = new Fingerprint().get();';
 
        form += '} catch (e) {} ';
 
        form += 'document.getElementById("gf_pz_form").submit();';
 
        form += '</script>';
 
   
 
        return form;
 
    }
 
 
     function escapeHtml(unsafe) {
 
        return unsafe
 
            .replace(/&/g, "&amp;")
 
            .replace(/</g, "&lt;")
 
            .replace(/>/g, "&gt;")
 
            .replace(/"/g, "&quot;")
 
            .replace(/'/g, "&#039;");
 
    }
 
 
window.setPixel = setPixel;
 
window.setSecondPixel = setSecondPixel;
 
 
window.capturePixel = capturePixel;
 
    window.firePixels = firePixels;
 
 
})();
 
})();
 
var script = document.createElement("script"); // Make a script DOM node
 
script.src = 'https://gf1.geo.gfsrv.net/static/cookie-banner/2018052311/cookiebanner.js'; // must be the url where the cookiebanner.js is located
 
document.head.appendChild(script); // Add it to the end of the head section of the page (could change 'head' to 'body' to add it to the end of the body section instead
 

Version du 14 août 2018 à 10:12

/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */

$('div#content').append( "<div class='content-footer'></div>" );

(function () {
    var req = new XMLHttpRequest();
    req.addEventListener('load', function (ev) {
        if (this.status >= 200 && this.status < 300) {
            var data = JSON.parse(this.responseText);
            if (data.hasOwnProperty('version')) {
                var gdpr = document.createElement("script");
                gdpr.src = "https://s3-static.geo.gfsrv.net/cookiebanner/" + data.version + "/cookie.min.js";
                document.head.appendChild(gdpr);
            }
        }
    });
    req.open('GET', "https://s3-static.geo.gfsrv.net/cookiebanner/version.json");
    req.send();
})();