From 0d291e2a3c8712b479754eec5f5d611151b4a71c Mon Sep 17 00:00:00 2001 From: Amauri CHAMPEAUX Date: Fri, 6 Mar 2015 16:50:15 +0100 Subject: [PATCH] New option: show a message if an adblocker is detected --- advertising.js | 1 + lang/tarteaucitron.de.js | 3 ++ lang/tarteaucitron.en.js | 3 ++ lang/tarteaucitron.es.js | 3 ++ lang/tarteaucitron.fr.js | 3 ++ lang/tarteaucitron.it.js | 3 ++ lang/tarteaucitron.pl.js | 3 ++ lang/tarteaucitron.pt.js | 3 ++ tarteaucitron.js | 94 ++++++++++++++++++++++++++-------------- 9 files changed, 83 insertions(+), 33 deletions(-) create mode 100644 advertising.js diff --git a/advertising.js b/advertising.js new file mode 100644 index 0000000..813e11b --- /dev/null +++ b/advertising.js @@ -0,0 +1 @@ +tarteaucitronNoAdBlocker = true; \ No newline at end of file diff --git a/lang/tarteaucitron.de.js b/lang/tarteaucitron.de.js index a832a3e..11144d4 100644 --- a/lang/tarteaucitron.de.js +++ b/lang/tarteaucitron.de.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Hallo! Diese Seite zu spielen Transparenz und gibt Ihnen die Wahl von Dritten als Service zu aktivieren.", + "adblock_call": "Bitte deaktivieren Sie Ihren adblocker zu starten Customizing.", + "reload": "Seite aktualisieren", "alertBig": "Wenn Sie diese Webseite benutzen, stimmen Sie der Benutzung von externen Diensten zu", "alertBigPrivacy": "Diese Webseite verwendet 'Cookies' und ermöglicht dadurch Kontrolle, welche Dienste benutzt werden dürfen", "alertSmall": "Service-Kontrolle", diff --git a/lang/tarteaucitron.en.js b/lang/tarteaucitron.en.js index a41abe3..49410e8 100644 --- a/lang/tarteaucitron.en.js +++ b/lang/tarteaucitron.en.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Hello! This site play transparency and gives you the choice of third party service to activate.", + "adblock_call": "Please disable your adblocker to start customizing.", + "reload": "Refresh the page", "alertBig": "If you continue to browse this website, you are allowing all third-party services", "alertBigPrivacy": "This site uses cookies and gives you control over what you want to activate", "alertSmall": "Manage services", diff --git a/lang/tarteaucitron.es.js b/lang/tarteaucitron.es.js index 8c3f585..96d12cf 100644 --- a/lang/tarteaucitron.es.js +++ b/lang/tarteaucitron.es.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Hola! Este sitio jugar transparencia y le da la opción de servicio de terceros para activar.", + "adblock_call": "Por favor deshabilite su AdBlocker para comenzar a personalizar.", + "reload": "Actualizar esta página", "alertBig": "Si continuas navegando por este sitio web, estar permitiendo servicios terceros", "alertBigPrivacy": "Este sitio web usa cookies y te permite controlar lo que deseas activar", "alertSmall": "Gestionar servicios", diff --git a/lang/tarteaucitron.fr.js b/lang/tarteaucitron.fr.js index c661a88..609de50 100644 --- a/lang/tarteaucitron.fr.js +++ b/lang/tarteaucitron.fr.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Bonjour! Ce site joue la transparence et vous donne le choix des services tiers à activer.", + "adblock_call": "Merci de désactiver votre adblocker pour commencer la personnalisation.", + "reload": "Recharger la page", "alertBig": "En poursuivant votre navigation, vous acceptez l'utilisation de services tiers pouvant installer des cookies", "alertBigPrivacy": "Ce site utilise des cookies et vous donne le contrôle sur ce que vous souhaitez activer", "alertSmall": "Gestion des services", diff --git a/lang/tarteaucitron.it.js b/lang/tarteaucitron.it.js index da1566b..584d35d 100644 --- a/lang/tarteaucitron.it.js +++ b/lang/tarteaucitron.it.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Ciao! Questo sito Gioca trasparenza e vi dà la scelta del servizio di terze parti per attivare.", + "adblock_call": "Prega di disattivare il adblocker per iniziare a personalizzare.", + "reload": "Aggiorna la pagina", "alertBig": "Continuando a navigare nel sito, autorizzi l’utilizzo dei cookies inviati da domini di terze parti", "alertBigPrivacy": "Questo sito fa uso di cookies e ti consente di decidere se accettarli o rifiutarli", "alertSmall": "Gestione dei servizi", diff --git a/lang/tarteaucitron.pl.js b/lang/tarteaucitron.pl.js index 91419c1..4de7420 100644 --- a/lang/tarteaucitron.pl.js +++ b/lang/tarteaucitron.pl.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Witaj! Ta witryna grać przejrzystość i daje możliwość wyboru usług stron trzecich do aktywacji.", + "adblock_call": "Proszę wyłączyć AdBlocker na rozpoczęcie dostosowywania.", + "reload": "Odśwież", "alertBig": "Pozostajac na tej stronie zgadzasz sie na korzystanie ze wszystkich zewnetrzynych uslug", "alertBigPrivacy": "Ta witryna używa plików cookie i pozwala kontrolować ich aktywacje", "alertSmall": "Zarządzanie usługami", diff --git a/lang/tarteaucitron.pt.js b/lang/tarteaucitron.pt.js index bf08190..84c8061 100644 --- a/lang/tarteaucitron.pt.js +++ b/lang/tarteaucitron.pt.js @@ -1,5 +1,8 @@ /*global tarteaucitron */ tarteaucitron.lang = { + "adblock": "Olá! Este site jogar transparência e lhe dá a opção de serviço de terceiros para ativar.", + "adblock_call": "Por favor, desative seu AdBlocker para começar a personalizar.", + "reload": "Atualizar esta página", "alertBig": "Se você continuar a navegaçao neste site, você estará aceitando todos os serviços terceiros", "alertBigPrivacy": "Esse site utiliza cookies and lhe dá controle sobre o que você quer ativar", "alertSmall": "Gerenciar serviços", diff --git a/tarteaucitron.js b/tarteaucitron.js index b7522da..63536a3 100644 --- a/tarteaucitron.js +++ b/tarteaucitron.js @@ -6,7 +6,8 @@ var scripts = document.getElementsByTagName('script'), cdn = path.split('/').slice(0, -1).join('/') + '/', alreadyLaunch = (alreadyLaunch === undefined) ? 0 : alreadyLaunch, tarteaucitronForceLanguage = (tarteaucitronForceLanguage === undefined) ? '' : tarteaucitronForceLanguage, - tarteaucitronProLoadServices; + tarteaucitronProLoadServices, + tarteaucitronNoAdBlocker = false; var tarteaucitron = { "cdn": cdn, @@ -90,6 +91,7 @@ var tarteaucitron = { pathToServices = cdn + 'tarteaucitron.services.js', linkElement = document.createElement('link'), defaults = { + "adblocker": true, "hashtag": '#tarteaucitron', "highPrivacy": false, "orientation": "top", @@ -215,42 +217,68 @@ var tarteaucitron = { html += ' '; html += ''; } - - div.id = 'tarteaucitronRoot'; - body.appendChild(div, body); - div.innerHTML = html; - if (tarteaucitron.job !== undefined) { - tarteaucitron.job = tarteaucitron.cleanArray(tarteaucitron.job); - for (index = 0; index < tarteaucitron.job.length; index += 1) { - tarteaucitron.addService(tarteaucitron.job[index]); - } - } + tarteaucitron.addScript(tarteaucitron.cdn + 'advertising.js', '', function () { + if (tarteaucitronNoAdBlocker === true || defaults.adblocker === false) { + div.id = 'tarteaucitronRoot'; + body.appendChild(div, body); + div.innerHTML = html; - tarteaucitron.isAjax = true; - tarteaucitron.job.push = function (id) { - - // ie <9 hack - if (typeof tarteaucitron.job.indexOf === 'undefined') { - tarteaucitron.job.indexOf = function (obj, start) { - var i, - j = this.length; - for (i = (start || 0); i < j; i += 1) { - if (this[i] === obj) { return i; } + if (tarteaucitron.job !== undefined) { + tarteaucitron.job = tarteaucitron.cleanArray(tarteaucitron.job); + for (index = 0; index < tarteaucitron.job.length; index += 1) { + tarteaucitron.addService(tarteaucitron.job[index]); } - return -1; - }; - } - - if (tarteaucitron.job.indexOf(id) === -1) { - Array.prototype.push.call(this, id); - } - tarteaucitron.launch[id] = false; - tarteaucitron.addService(id); - }; + } - if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') { - tarteaucitron.userInterface.openPanel(); + tarteaucitron.isAjax = true; + tarteaucitron.job.push = function (id) { + + // ie <9 hack + if (typeof tarteaucitron.job.indexOf === 'undefined') { + tarteaucitron.job.indexOf = function (obj, start) { + var i, + j = this.length; + for (i = (start || 0); i < j; i += 1) { + if (this[i] === obj) { return i; } + } + return -1; + }; + } + + if (tarteaucitron.job.indexOf(id) === -1) { + Array.prototype.push.call(this, id); + } + tarteaucitron.launch[id] = false; + tarteaucitron.addService(id); + }; + + if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') { + tarteaucitron.userInterface.openPanel(); + } + + tarteaucitron.cookie.number(); + setInterval(tarteaucitron.cookie.number, 60000); + } + }); + + if (defaults.adblocker === true) { + setTimeout(function () { + if (tarteaucitronNoAdBlocker === false) { + html = '
'; + html += ' '; + html += ' ' + tarteaucitron.lang.adblock + '
'; + html += ' ' + tarteaucitron.lang.adblock_call + ''; + html += '
'; + html += ' '; + html += ' ' + tarteaucitron.lang.reload; + html += ' '; + html += '
'; + div.id = 'tarteaucitronRoot'; + body.appendChild(div, body); + div.innerHTML = html; + } + }, 1500); } }); });