Parcourir la source

New feature! Services are allowed when the user scroll down more than 2x is screen height

Amauri CHAMPEAUX il y a 10 ans
Parent
commit
98e5588456

+ 9 - 0
css/tarteaucitron.css

@@ -351,6 +351,15 @@
     padding: 4px 10px;
 }
 
+#tarteaucitronPercentage {
+    background: #0A0;
+    box-shadow: 0 0 2px #fff, 0 1px 2px #555;
+    height: 5px;
+    left: 0;
+    position: fixed;
+    width: 0;
+}
+
 /***
  * Small alert
  */

+ 5 - 1
lang/tarteaucitron.de.js

@@ -3,7 +3,11 @@ tarteaucitron.lang = {
     "adblock": "Hallo! Diese Seite ist transparent und lässt Ihnen die Wahl der externen Services, die aktiviert werden dürfen.",
     "adblock_call": "Bitte deaktivieren Sie Ihren 'Werbeblocker' um Konfigurieren zu können.",
     "reload": "Seite neu laden",
-    "alertBig": "Wenn Sie diese Webseite benutzen, stimmen Sie der Benutzung von externen Diensten zu",
+    
+    "alertBigScroll": "Durch die fortgesetzte blättern,",
+    "alertBigClick": "Wenn Sie diese Webseite benutzen,",
+    "alertBig": "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",
     "personalize": "Personalisieren",

+ 5 - 1
lang/tarteaucitron.en.js

@@ -3,7 +3,11 @@ tarteaucitron.lang = {
     "adblock": "Hello! This site is transparent and lets you chose the 3rd party services you want to allow.",
     "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",
+    
+    "alertBigScroll": "By continuing to scroll,",
+    "alertBigClick": "If you continue to browse this website,",
+    "alertBig": "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",
     "personalize": "Personalize",

+ 5 - 1
lang/tarteaucitron.es.js

@@ -3,7 +3,11 @@ tarteaucitron.lang = {
     "adblock": "Hola! Este sitio web es transparente y le da la opción de activar los servicios de terceros.",
     "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",
+    
+    "alertBigScroll": "Al continuar para desplazarse,",
+    "alertBigClick": "Si continuas navegando por este sitio web,",
+    "alertBig": "estar permitiendo servicios terceros",
+    
     "alertBigPrivacy": "Este sitio web usa cookies y te permite controlar lo que deseas activar",
     "alertSmall": "Gestionar servicios",
     "personalize": "Personalizar",

+ 5 - 1
lang/tarteaucitron.fr.js

@@ -3,7 +3,11 @@ 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",
+    
+    "alertBigScroll": "En continuant de défiler,",
+    "alertBigClick": "En poursuivant votre navigation,",
+    "alertBig": "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",
     "acceptAll": "OK, tout accepter",

+ 5 - 1
lang/tarteaucitron.it.js

@@ -3,7 +3,11 @@ tarteaucitron.lang = {
     "adblock": "Benvenuto! Questo sito ti permette di attivare i servizi di terzi di tua scelta.",
     "adblock_call": "Disabilita il tuo adblocker per iniziare la navigazione.",
     "reload": "Aggiorna la pagina",
-    "alertBig": "Continuando a navigare nel sito, autorizzi l’utilizzo dei cookies inviati da domini di terze parti",
+    
+    "alertBigScroll": "Continuando a scorrere,",
+    "alertBigClick": "Continuando a navigare nel sito,",
+    "alertBig": "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",
     "acceptAll": "Ok, accetta tutto",

+ 5 - 1
lang/tarteaucitron.pl.js

@@ -3,7 +3,11 @@ tarteaucitron.lang = {
     "adblock": "Witaj! Ta witryna oferuje przejrzystosc i daje mozliwosc wyboru aktywacji uslug zewnetrznych.",
     "adblock_call": "Prosze wylaczyc adblocker aby rozpoczac dostosowanie do potrzeb uzytkownika.",
     "reload": "Odswiez strone",
-    "alertBig": "Pozostajac na tej stronie zgadzasz sie na korzystanie ze wszystkich zewnetrzynych uslug",
+    
+    "alertBigScroll": "Poprzez kontynuowanie przewijania,",
+    "alertBigClick": "Pozostajac na tej stronie",
+    "alertBig": "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",
     "personalize": "Personalizacja",

+ 5 - 1
lang/tarteaucitron.pt.js

@@ -3,7 +3,11 @@ tarteaucitron.lang = {
     "adblock": "Olá! Em uma açao de transparencia, este site lhe dá a opção de quais serviços terceiros deseje ativar.",
     "adblock_call": "Por favor, desative seu bloqueador de publicidades para poder customizar.",
     "reload": "Atualizar esta página",
-    "alertBig": "Se você continuar a navegaçao neste site, você estará aceitando todos os serviços terceiros",
+    
+    "alertBigScroll": "Ao continuar a rolar,",
+    "alertBigClick": "Se você continuar a navegaçao neste site,",
+    "alertBig": "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",
     "personalize": "Personalizar",

+ 6 - 2
lang/tarteaucitron.ru.js

@@ -1,9 +1,13 @@
-/*global tarteaucitron */
+/*global tarteaucitron */
 tarteaucitron.lang = {
     "adblock": "Привет! Этот сайт совершенно открытый и позволяет вам выбрать сервисы третьих лиц, которым вы хотите дать доступ.",
     "adblock_call": "Пожалуйста дезактивируйте АдБлокер чтобы начать настройку.",
     "reload": "Перезагрузите страницу",
-    "alertBig": "Если вы продолжаете использовать сайт вы позволяете сервисы третьих лиц",
+    
+    "alertBigScroll": "Продолжая прокрутки",
+    "alertBigClick": "Если вы продолжаете использовать сайт",
+    "alertBig": "вы позволяете сервисы третьих лиц",
+    
     "alertBigPrivacy": "Этот сайт использует кукис и позволяет вам контролировать сервисы которые вы хотите активировать",
     "alertSmall": "Настройка сервисов",
     "personalize": "Персонализировать",

+ 49 - 2
tarteaucitron.js

@@ -10,7 +10,7 @@ var scripts = document.getElementsByTagName('script'),
     tarteaucitronNoAdBlocker = false;
 
 var tarteaucitron = {
-    "version": 213,
+    "version": 300,
     "cdn": cdn,
     "user": {},
     "lang": {},
@@ -38,6 +38,28 @@ var tarteaucitron = {
                         }, false);
                     }, true);
                 }, false);
+                window.addEventListener("scroll", function () {
+					var scrollPos = window.pageYOffset || document.documentElement.scrollTop,
+                        heightPosition;
+					if (document.getElementById('tarteaucitronAlertBig') !== null && !tarteaucitron.highPrivacy) {
+						if (document.getElementById('tarteaucitronAlertBig').style.display === 'block') {
+                            heightPosition = document.getElementById('tarteaucitronAlertBig').offsetHeight + 'px';
+							
+                            if (scrollPos > (screen.height * 2)) {
+								tarteaucitron.userInterface.respondAll(true);
+							} else if (scrollPos > (screen.height / 2)) {
+                                document.getElementById('tarteaucitronDisclaimerAlert').innerHTML = '<b>' + tarteaucitron.lang.alertBigScroll + '</b> ' + tarteaucitron.lang.alertBig;
+                            }
+                            
+                            if (tarteaucitron.orientation === 'top') {
+                                document.getElementById('tarteaucitronPercentage').style.top = heightPosition;
+                            } else {
+                                document.getElementById('tarteaucitronPercentage').style.bottom = heightPosition;
+                            }
+							document.getElementById('tarteaucitronPercentage').style.width = ((100 / (screen.height * 2)) * scrollPos) + '%';
+						}
+					}
+				}, false);
                 window.addEventListener("keydown", function (evt) {
                     if (evt.keyCode === 27) {
                         tarteaucitron.userInterface.closePanel();
@@ -70,6 +92,27 @@ var tarteaucitron = {
                         });
                     }, true);
                 });
+                window.attachEvent("onscroll", function () {
+					var scrollPos = window.pageYOffset || document.documentElement.scrollTop,
+                        heightPosition;
+					if (document.getElementById('tarteaucitronAlertBig') !== null && !tarteaucitron.highPrivacy) {
+						if (document.getElementById('tarteaucitronAlertBig').style.display === 'block') {
+                            heightPosition = document.getElementById('tarteaucitronAlertBig').offsetHeight + 'px';
+							
+                            if (scrollPos > (screen.height * 2)) {
+								tarteaucitron.userInterface.respondAll(true);
+							} else if (scrollPos > (screen.height / 2)) {
+                                document.getElementById('tarteaucitronDisclaimerAlert').innerHTML = '<b>' + tarteaucitron.lang.alertBigScroll + '</b> ' + tarteaucitron.lang.alertBig;
+                            }
+                            if (tarteaucitron.orientation === 'top') {
+                                document.getElementById('tarteaucitronPercentage').style.top = heightPosition;
+                            } else {
+                                document.getElementById('tarteaucitronPercentage').style.bottom = heightPosition;
+                            }
+							document.getElementById('tarteaucitronPercentage').style.width = ((100 / (screen.height * 2)) * scrollPos) + '%';
+						}
+					}
+				});
                 window.attachEvent("onkeydown", function (evt) {
                     if (evt.keyCode === 27) {
                         tarteaucitron.userInterface.closePanel();
@@ -148,6 +191,7 @@ var tarteaucitron = {
         }
         
         // global
+        tarteaucitron.orientation = defaults.orientation;
         tarteaucitron.hashtag = defaults.hashtag;
         tarteaucitron.highPrivacy = defaults.highPrivacy;
 
@@ -237,7 +281,7 @@ var tarteaucitron = {
                 } else {
                     html += '<div id="tarteaucitronAlertBig" class="tarteaucitronAlertBig' + orientation + '">';
                     html += '   <span id="tarteaucitronDisclaimerAlert">';
-                    html += '       ' + tarteaucitron.lang.alertBig;
+                    html += '       ' + tarteaucitron.lang.alertBigClick + ' ' + tarteaucitron.lang.alertBig;
                     html += '   </span>';
                     html += '   <span id="tarteaucitronPersonalize" onclick="tarteaucitron.userInterface.respondAll(true);">';
                     html += '       &#10003; ' + tarteaucitron.lang.acceptAll;
@@ -246,6 +290,7 @@ var tarteaucitron = {
                     html += '       ' + tarteaucitron.lang.personalize;
                     html += '   </span>';
                     html += '</div>';
+                    html += '<div id="tarteaucitronPercentage"></div>';
                 }
                 
                 if (defaults.showAlertSmall === true) {
@@ -606,12 +651,14 @@ var tarteaucitron = {
         "openAlert": function () {
             "use strict";
             var c = 'tarteaucitron';
+            tarteaucitron.userInterface.css(c + 'Percentage', 'display', 'block');
             tarteaucitron.userInterface.css(c + 'AlertSmall', 'display', 'none');
             tarteaucitron.userInterface.css(c + 'AlertBig',   'display', 'block');
         },
         "closeAlert": function () {
             "use strict";
             var c = 'tarteaucitron';
+            tarteaucitron.userInterface.css(c + 'Percentage', 'display', 'none');
             tarteaucitron.userInterface.css(c + 'AlertSmall', 'display', 'block');
             tarteaucitron.userInterface.css(c + 'AlertBig',   'display', 'none');
             tarteaucitron.userInterface.jsSizing('box');

+ 3 - 3
tarteaucitron.services.js

@@ -364,9 +364,9 @@ tarteaucitron.services.ekomi = {
         if (tarteaucitron.user.ekomiCertId === undefined) {
             return;
         }
-        window.eKomiIntegrationConfig = new Array(
-        	{certId: tarteaucitron.user.ekomiCertId}
-        );
+        window.eKomiIntegrationConfig = [
+            {certId: tarteaucitron.user.ekomiCertId}
+        ];
         tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js');
     }
 };