14.12.2017 o 9:20

[JS] Komunikat o ciasteczkach na stronę

Witam

Jest, to aktualizacja dotycząca starego wpisu odnośnie ciasteczek na stronę www. Czyli przykładowy kod jaki można używać do wyświetlania komunikatu o ciasteczkach, zwany po ang. CookieBar. Z tego co zauważyłem poprzednia wersja ma jakieś problemy na niektórych stronach i znalazłem inne rozwiązanie, troszkę przerobiłem i udało mi się osiągnąć prosty kod w samym JavaScript.

Wystarczy kawałek kodu CSS (dla przykładu, resztę ostylujecie sobie sami):
.cookies-notice {
    display: none;
}

Troszkę HTML-a:
<div class="cookies-notice">
    <div class="cookies-text">Komunikat cookies</div>
    <a href="#" class="accept-cookies">OK, zamknij</a>
</div>

No i to co najważniejsze, to kod JavaScript bez którego ciasteczka nie będą działać:
function setCookie(name, value, days) {
    var date = new Date();
    date.setTime(date.getTime() + (days*24*60*60*1000));
    var expires = "; expires=" + date.toGMTString();
    document.cookie = name+"="+value+expires+"; path=/";
}

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

var cookiesBar = document.getElementsByClassName("cookies-notice")[0];
var cookiesAccept = cookiesBar.getElementsByClassName("accept-cookies")[0];

window.onload = checkCookies;

function checkCookies() {
    if (getCookie('cookies_accepted') != 'T') {
        cookiesBar.style.display = "block";
    }
}

cookiesAccept.onclick = function(e){
    e.preventDefault();
    cookiesBar.style.display = "none";
    setCookie('cookies_accepted', 'T', 365);
};   

Komentarze
© 2010 - 2018 - Karol Drąg
Wszelkie prawa zastrzeżone
Polityka plików cookies