-
Notifications
You must be signed in to change notification settings - Fork 3
/
jquery.cookie-banner.min.js
1 lines (1 loc) · 4.71 KB
/
jquery.cookie-banner.min.js
1
!function($,window,document,undefined){$.cookieBanner=function(settings){var defaults={bannerClass:"cookie-banner",bannerLinkText:{it:"Approfondisci",en:"Learn more",de:"Mehr dazu",es:"Descubre más",ru:"Узнайте больше"},bannerText:{it:"Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza di navigazione. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all'uso dei cookie.",en:"This website uses cookies (also third-party cookies) to provide you a better navigation experience. By closing this banner, scrolling this page or by clicking any of its elements, you agree to the use of cookies.",de:"Diese Website verwendet Cookies, auch von Dritten, um Ihre Browser-Erfahrung zu verbessern. Durch das Schließen dieses Banners, das Scrollen durch diese Seite oder einen Klick auf deren Elemente, erklären Sie sich mit der Verwendung der Cookies einverstanden.",es:"Este sitio web utiliza cookies propias y de terceros para mejorar tu experiencia de navegación. Cerrando este banner, recorriendo esta página o haciendo clic en cualquier elemento, autorizas el uso de cookies.",ru:"Этот Сайт использует собственные и сторонние cookie-файлы для того, чтобы предоставить Вам больше возможностей при использовании сайта. Продолжая посещение веб-сайта, вы соглашаетесь на использование cookie-файлов."},blockCookie:!0,blockCookieAttribute:"data-src",blockCookieClass:"block-cookie",consentButtonClass:"cookie-banner__button",consentButtonText:{it:"Chiudi",en:"Close",de:"Schließen",es:"Cerrar",ru:"Закрыть"},consentButtonTextClass:"cookie-banner__close",consentOnNavigation:!0,consentOnScroll:!0,cookieExpiry:365,cookieName:"consentCookie",cookiePageUrl:{it:"",en:"",de:"",es:"",ru:""},culture:"en",hideBannerOnScroll:!0,onConsent:function(){},prependBannerTo:"body",reloadPage:!1};function createCookie(e,o,n){var t;if(n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),t="; expires="+a.toGMTString()}else t="";document.cookie=e+"="+o+t+"; path=/"}function readCookie(e){for(var o=e+"=",n=document.cookie.split(";"),t=0;t<n.length;t++){for(var a=n[t];" "==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(o))return a.substring(o.length,a.length)}return null}function eraseCookie(e){createCookie(e,"",-1)}function hideBanner(){$("."+defaults.bannerClass).fadeOut(400,function(){$(this).remove()})}function reloadPage(){document.location.reload()}function createCookieOnConsent(){null===readCookie(defaults.cookieName)&&(createCookie(defaults.cookieName,"true",defaults.cookieExpiry),$(document).trigger("onConsent"),defaults.onConsent.call())}function isPrivacyPage(){return window.location.pathname.toLowerCase().split("/").pop()==defaults.cookiePageUrl[defaults.culture].toLowerCase()}function runBlockedElements(activatorClass){$("."+activatorClass).each(function(){if("SCRIPT"===$(this).prop("tagName")){var attr=$(this).attr("src");if(attr)$.getScript(attr);else{var scriptText=$(this).html();eval(scriptText)}$(this).attr("type","text/javascript")}else $("."+activatorClass).each(function(){var e=$(this).attr(defaults.blockCookieAttribute);e&&$(this).attr("src",e)})})}$.extend(!0,defaults,settings),null!==readCookie(defaults.cookieName)||isPrivacyPage()||$(defaults.prependBannerTo).prepend('<div class="'+defaults.bannerClass+'">'+defaults.bannerText[defaults.culture]+' <a class="cookie-banner__link" href="'+defaults.cookiePageUrl[defaults.culture]+'">'+defaults.bannerLinkText[defaults.culture]+'</a><a class="'+defaults.consentButtonClass+'"><span class="'+defaults.consentButtonTextClass+'">'+defaults.consentButtonText[defaults.culture]+"</span></a></div>"),defaults.consentOnNavigation&&null===readCookie(defaults.cookieName)&&!isPrivacyPage()&&$(document).on("click","a",function(){this.pathname.toLowerCase().split("/").pop()!==defaults.cookiePageUrl[defaults.culture].toLowerCase()&&createCookieOnConsent()}),$("body").on("click","."+defaults.consentButtonClass,function(e){e.preventDefault(),null===readCookie(defaults.cookieName)&&(createCookieOnConsent(),defaults.blockCookie&&runBlockedElements(defaults.blockCookieClass)),hideBanner(),defaults.reloadPage&&reloadPage()}),defaults.consentOnScroll&&null===readCookie(defaults.cookieName)&&!isPrivacyPage()&&$(window).one("scroll",function(){createCookieOnConsent(),defaults.blockCookie&&runBlockedElements(defaults.blockCookieClass),defaults.hideBannerOnScroll&&hideBanner()}),defaults.blockCookie&&readCookie(defaults.cookieName)&&runBlockedElements(defaults.blockCookieClass),$.cookieBanner.consent=function(){return readCookie(defaults.cookieName)}}}(jQuery,window,document);