Come realizzare in 10 minuti un popup per l’informativa cookies con Bootstrap 5

Le attuali normative europee impongono che ogni sito web facente uso di cookies informi preventivamente l’utenza che deciderà se accettare o meno di proseguire la navigazione. In questo tutorial vedremo come realizzare in pochi minuti uno script che ci permetta di adempiere a tali obblighi mediante l’impiego di poche righe di codice javascript ed un’interfaccia html basata sul famoso framework Bootstrap 5.

Primo Step – Creazione dello snippet HTML

in prima istanza creiamo il codice html che comporrà il popup html con l’avviso da mostrare agli utenti con link alla policy completa e bottone di accettazione.

<div class="alert alert-dismissible text-center cookiealert" role="alert">
  <div class="cookiealert-container">
       Questo sito utilizza cookie tecnici “proprietari” e “di terze parti” per garantire il funzionamento del sito e migliorare l’esperienza di navigazione sul medesimo. Questo sito utilizza altresì cookie analitici anonimi per raccogliere informazioni statistiche sugli accessi al sito. Per maggiori informazioni sull’utilizzo dei cookie da parte Nome-del-tuo-sito <a href="https://link-alla-tua-cookie-polici-completa.html" target="_blank">clicca qui</a>

      <button type="button" class="btn btn-primary btn-sm acceptcookies" aria-label="Chiudi">
          Accetto
      </button>
  </div>
</div>

Il codice qui sopra andrà inserito nella pagina principale del tuo sito (generalmente index.html).

Secondo step – Creazione dello script in linguaggio Javascript

Il seguente script in linguaggio javascript controllerà le azioni dello snippet html. Creiamo pertanto un file che chiameremo cookieconsent.js e che per comodità posizioneremo nella stessa directory della home page del sito. Potrai comunque posizionarlo in una sottodirectory differente a tua discrezione, ricorda in tal caso di correggere l’url di inclusione.

Includeremo nel nostro file cookieconsent.js il seguente codice:

(function() {
    "use strict";
    var cookieAlert = document.querySelector(".cookiealert");
    var acceptCookies = document.querySelector(".acceptcookies");
    cookieAlert.offsetHeight;
    if (!getCookie("acceptCookies")) {
        cookieAlert.classList.add("show");
    }
    acceptCookies.addEventListener("click", function() {
        setCookie("acceptCookies", true, 60);
        cookieAlert.classList.remove("show");
    });
})();

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) === 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

Il codice qui sopra effettuerà le seguenti operazioni:

  • identifica nel codice HTML i tag che contengono l’interfaccia del nostro “cookie consent”;
  • verifica l’esistenza di un cookie di controllo denominato “acceptCookies”;
  • qualora il cookie “acceptCookies” sia già presente sul browser dell’utente non mostreremo alcun popup di avviso (presunzione di informativa già accettata);
  • qualora invece il cookie “acceptCookies” non sia presente lo script farà in modo da mostrare il nostro avviso;
  • la funzione javascript setCookie() interverrà nel momento in cui l’utente accetterà le condizioni creando un nuovo cookie con nome “acceptCookies” e conseguentemente nascondendo il popup;

Terzo step – Un po di stile al nostro codice: il CSS per la formattazione

Ora che abbiamo entrambe le componenti principali pronte al lancio andremo a definire lo stile grafico per lo stesso, creeremo a questo punto il file cookiestyle.css sulla home directory del nostro sito.

.cookiealert {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0!important;
	z-index: 999;
	opacity: 0;
	border-radius: 0;
	background: #212327 url(cubes.png);
	transform: translateY(100%);
	transition: all 500ms ease-out;
	color: #ecf0f1
}

.cookiealert.show {
	opacity: 1;
	transform: translateY(0%);
	transition-delay: 1000ms
}

.cookiealert a {
	text-decoration: underline
}

.cookiealert .acceptcookies {
	margin-left: 10px;
	vertical-align: baseline
}

Quarto step – Integriamo il tutto nella home page del sito

Completiamo il nostro tutorial includendo i due file precedentemente creati nella home page del nostro sito inserendo il codice qui di seguito.

Inclusione del file di stile tra i tag <header></header> del file index.html:

<link rel="stylesheet" href="cookiealert.css">

Ora includiamo il nostro script javascript in fondo alla pagina html prima della chiusura del tag </body>

<script src="cookiealert-standalone.js"></script>

Congratulazioni! Il tuo cookie-consent script è pronto per essere testato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.