1// prod 2var gaProperty = 'UA-22359638-1'; 3 4// Désactive le tracking si le cookie dâOpt-out existe déjà . 5 6var disableStr = 'ga-disable-' + gaProperty; 7 8if (document.cookie.indexOf('hasConsent=false') > -1) { 9 window[disableStr] = true; 10} 11//Cette fonction retourne la date dâexpiration du cookie de consentement 12 13function getCookieExpireDate() { 14 var cookieTimeout = 34214400000;// Le nombre de millisecondes que font 13 mois 15 var date = new Date(); 16 date.setTime(date.getTime() + cookieTimeout); 17 var expires = "; expires=" + date.toGMTString(); 18 return expires; 19} 20 21// Cette fonction est appelée pour afficher la demande de consentement 22function askConsent() { 23 var bodytag = document.getElementsByTagName('body')[0]; 24 var div = document.createElement('div'); 25 div.setAttribute('id', 'cookie-banner'); 26 div.setAttribute('width', '70%'); 27 // Le code HTML de la demande de consentement 28 // Vous pouvez modifier le contenu ainsi que le style 29 div.innerHTML = "<p>" + 30 "Notre site utilise des "cookies" qui nous fournissent des informations sur la façon dont nos sites sont utilisés, et nous permettent de les améliorer. " + 31 "<a href='/politique-donnees'>En savoir plus</a>." + 32 "</p>" + 33 "<a class='ok'>OK</a>"; 34 $(div).find('.ok').on('click', function(){ 35 $('#cookie-banner').hide(); 36 }) 37 $('body').append(div); // Ajoute la bannière à la fin de la page 38 document.getElementsByTagName('body')[0].className += ' cookiebanner'; 39} 40 41// Retourne la chaine de caractère correspondant à nom=valeur 42function getCookie(NomDuCookie) { 43 if (document.cookie.length > 0) { 44 var begin = document.cookie.indexOf(NomDuCookie + "="); 45 if (begin != -1) { 46 begin += NomDuCookie.length + 1; 47 var end = document.cookie.indexOf(";", begin); 48 if (end == -1) end = document.cookie.length; 49 return unescape(document.cookie.substring(begin, end)); 50 } 51 } 52 return null; 53} 54 55// Fonction d'effacement des cookies 56function delCookie(name) { 57 var path = ";path=" + "/"; 58 var domain = ";domain=" + "." + document.location.hostname; 59 var expiration = "Thu, 01-Jan-1970 00:00:01 GMT"; 60 document.cookie = name + "=" + path + domain + ";expires=" + expiration; 61} 62 63// Efface tous les types de cookies utilisés par Google Analytics 64function deleteAnalyticsCookies() { 65 var cookieNames = ["__utma", "__utmb", "__utmc", "__utmz", "_ga"] 66 for (var i = 0; i < cookieNames.length; i++) 67 delCookie(cookieNames[i]) 68} 69 70// La fonction d'opt-out 71window.gaOptout = function () { 72 document.cookie = disableStr + '=true;' + getCookieExpireDate() + ' ; path=/'; 73 document.cookie = 'hasConsent=false;' + getCookieExpireDate() + ' ; path=/'; 74 var div = document.getElementById('cookie-banner'); 75 // Ci dessous le code de la bannière affichée une fois que l'utilisateur s'est opposé au dépôt 76 // Vous pouvez modifier le contenu et le style 77 if (div != null) div.innerHTML = '<div style="background-color:#ffffff"> Vous vous êtes opposé \ 78 au dépôt de cookies de mesures d\'audience dans votre navigateur </div>'; 79 window[disableStr] = true; 80 deleteAnalyticsCookies(); 81 checkGaCookieAllowance(); 82} 83window.gaAllowCookies = function () { 84 document.cookie = 'hasConsent=true; ' + getCookieExpireDate() + ' ; path=/'; 85 checkGaCookieAllowance(); 86} 87 88 89//Ce bout de code vérifie que le consentement n'a pas déjà été obtenu avant d'afficher 90// la baniére 91var consentCookie = getCookie('hasConsent'); 92if (!consentCookie) {//L'utilisateur n'a pas encore de cookie de consentement 93 var referrer_host = document.referrer.split('/')[2]; 94 if (referrer_host != document.location.hostname) { //si il vient d'un autre site 95 //on désactive le tracking et on affiche la demande de consentement 96 window[disableStr] = true; 97 window.onload = askConsent; 98 } else { //sinon on lui dépose un cookie 99 document.cookie = 'hasConsent=true; ' + getCookieExpireDate() + ' ; path=/'; 100 } 101} 102 103function checkGaCookieAllowance() { 104 if (document.cookie.indexOf('hasConsent=false') > -1) { 105 jQuery('#hasRefusedGa').show(); 106 jQuery('#hasRefusedGa').removeClass('hidden'); 107 jQuery('#hasAllowedGa').hide(); 108 } 109 else { 110 jQuery('#hasAllowedGa').show(); 111 jQuery('#hasAllowedGa').removeClass('hidden'); 112 jQuery('#hasRefusedGa').hide(); 113 } 114} 115 116jQuery(document).ready(function () { 117 checkGaCookieAllowance(); 118}); 119 120if (window[disableStr] !== true) { 121 (function (i, s, o, g, r, a, m) { 122 i['GoogleAnalyticsObject'] = r; 123 i[r] = i[r] || function () { 124 (i[r].q = i[r].q || []).push(arguments) 125 }, i[r].l = 1 * new Date(); 126 a = s.createElement(o), 127 m = s.getElementsByTagName(o)[0]; 128 a.async = 1; 129 a.src = g; 130 m.parentNode.insertBefore(a, m) 131 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 132 133 ga('create', gaProperty, 'auto'); 134 ga('require', 'linkid'); 135 ga('send', 'pageview'); 136}
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.