Jak już większość z Was zapewne wie, kilka dni temu (22 marca 2013) weszły w życie nowe regulacje prawne dotyczące plików cookies na stronach. Od tego dnia każda witryna, na której wykorzystywane są ciasteczka zobowiązana jest poinformować o tym fakcie użytkownika. Zauważyłem, że w sieci można już zakupić skrypty, które wyświetlają odwiedzającym odpowiednią treść. Jaki jest natomiast problem, aby napisać taki samodzielnie?
Raz, dwa, trzy…
Nie ma co się rozpisywać o kodzie poniższego skryptu. Jest on na tyle prosty, że każdy webmaster go zrozumie. Jeśli natomiast ktoś ma problemy, może po prostu skopiować go i zapisać jako cookie.js w głównym katalogu serwera. Następnie wystarczy zainicjować go w sekcji <head></head>.
[codesyntax lang=”javascript”]
// Proszę nie zmieniać żadnego komentarza w kodzie // Jest to warunek legalnego wykorzystania // // Autor skryptu - Hubert 'Komeniusz' Grabowski // Wersja 1.0 // http://blog.grabowski.ostrowwlkp.pl // http://blog.grabowski.ostrowwlkp.pl/webmastering/skrypt-informujacy-o-wykorzystywaniu-cookies-na-stronie // // Funkcje pomocnicze pobrane z // http://www.w3schools.com/js/js_cookies.asp function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); document.cookie=c_name + "=" + c_value; } function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for (i=0;i<ARRcookies.length;i++) { x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); x=x.replace(/^\s+|\s+$/g,""); if (x==c_name) { return unescape(y); } } } $(document).ready(function() { var message = 'Używamy plików cookies, aby ułatwić Ci korzystanie z naszego serwisu oraz do celów statystycznych. Jeśli nie blokujesz tych plików, to zgadzasz się na ich użycie oraz zapisanie w pamięci urządzenia. Pamiętaj, że możesz samodzielnie zarządzać cookies, zmieniając ustawienia przeglądarki.'; var message2 = 'ROZUMIEM, NIE POKAZUJ WIĘCEJ TEGO OKNA.'; var div = '<div class="cookie-alert" style="position:relative;top:0;width:100%;text-align:center;background-color:#000000;color:#FFFFFF;opacity:0.8;font-size:13px;font-weight:bold;font-family:tahoma;padding-top:20px;padding-bottom:10px;"><div style="width:800px;margin:0 auto;">'+message+'<br /><br /><span style="color:red;cursor:pointer;" class="cookie-alert2">'+message2+'</span></div></div>'; var ciastko = getCookie('cookie-alert'); if(ciastko != 1) { $('body').prepend(div); } $('.cookie-alert2').click(function() { $('.cookie-alert').slideUp('slow'); setCookie('cookie-alert', 1, 365); }); });
[/codesyntax]
Kod do umieszczenia w sekcji <head></head>:
[codesyntax lang=”html4strict”]
<script type="text/javascript" src="cookie.js"></script>
[/codesyntax]
Uwaga!
Aby skrypt działał prawidłowo, należy wcześniej dołączyć bibliotekę jQuery (jeśli strona z niej nie korzysta).
[codesyntax lang=”html4strict”]
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="cookie.js"></script>
[/codesyntax]
Witam, dzięki wielkie za kodzik. Działa jak trzeba 🙂
Podobny skrypt można znaleźć na politykacookies.pl
Skrypt oczywiście Darmowy
Mało osób lubi znaki wodne 🙂
Jaka subtelna reklama. 🙂
Na dwóch stronach skrypt ładnie działa, a na trzeciej nie… Jakaś podpowiedź dlaczego może tak być?
Napisz proszę do mnie na maila (znajdziesz go w zakładce kontakt), postaram się zdiagnozować przyczynę.
Wielkie dzięki. Bardzo miło, że udostępniłeś ten dobry skrypt nie próbując na nim od razu zarobić jak wielu spammerów komentarzowych próbujących w ten sposób wstawić komuś reklamy na stronę
Witam. Jestem początkujący prośba o info, co jeżeli nie mam polskich znaków w komunikacie ?
Musisz sprawdzić poprawność kodowania znaków w pliku oraz zadeklarować ją w znaczniku meta. Spróbuj także umieścić znacznik
Witam.
Dziękuje bardzo za skrypt. Mam jednak pytanie, w jaki sposób przedłużyć akceptację „polityki ciasteczkowej”? Obecnie jest to 1 (jeden) dzień?
Witam,
Bardzo dziękuję za skrypt. Jestem kompletnie zielona w tych sprawach, ale szybko musiałam stworzyć stronę, a teraz dobiły mnie te cookie. Mam pytanie odnośnie skryptu. Zrobiłam wszystko tak jak w instrukcji, ale pojawia się błąd skryptu. Dokładnie chodzi o 33 wiersz.”wartość właściwości $, jest pusta lub niezdefiniowana, nie jest obiektem Function”. O co chodzi? Proszę o pomoc 🙂 PS gdzie tę bibliotekę się dołącza?
Problem polega na tym, iż nie dołączyłaś do sekcji
biblioteki jQuery. Prawidłowe jej dołączenie polega jedynie na umieszczeniu jej PRZED umieszczeniem skryptu z ciasteczkami. Kod powinien zatem wyglądać tak, że najpierw wklejasz script z jQuery, a następnie ten z ciasteczkami.Witam,
Dziękuję za skrypt.Mam tylko mały problem a mianowicie baner
z informacją nie chce się zamykać.W czym może tkwić problem?
Pozdrawiam
Zapewne z powodu braku jQuery 🙂
Witam skrypt bardzo fajny mam tylko jedno pytanie jak zrobić aby można było wstawić np. linka do strony z polityką prywatności jak to mają na innych stronach?
Wystarczy zmodyfikować zmienną message.
to znaczy jak zmodyfikować bo zielony jestem?
a musi być ta polityka prywatności czy nie??
pozdrawiam.
Jeśli dalej masz problemy z edycją wartości zmiennej, zapraszam do zapoznania się z czwartą lekcją mojego kursu JavaScript, w którym poruszyłem temat zmiennych. Inaczej nie jestem w stanie pomóc.
Fajny skrypt. Ale czy można go używać w witrynach komercyjnych? A i jeszcze jedno ważne pytanie: czy za jakiś czas pokażą się w nim jakieś reklamy?
Tak, można. Proszę jedynie zachować komentarz w kodzie, w formie niezmienionej. I nie, nie pojawią się żadne reklamy 🙂
Witam
Wstawiłem skrypt i działa ale nie wyświetla mi prawidłowo polskich znaków a konkretnie „ą” i „ś” . Proszę o pomoc.
Witam. Proszę o odpowiednie ustawienie deklaracji strony kodowej (np. utf-8) oraz zapisaniu plików strony jak i skryptu w tym samym kodowaniu. Proszę również o dołączenie skryptu po deklaracji ustalonego wcześniej kodowania.
Co, Ja tu robię? Dziękuję skrypt działa 🙂
Dzień dobry!
Czy można zrobić tak, aby komunikat ukazywał się u dołu strony?
Pozdrawiam i dziękuję za tą pracę, jest bardzo pomocna.
Oczywiście, żaden problem 🙂
dla mnie problem, sam nie potrafię. Czy może pan podpowiedzieć? Dzięki z góry
Chociażby pozycja fixed i bottom z wartością 0 w CSS załatwią sprawę
Ja trochę z innej beczki. Otóż szału mażna dostać od ciągłego zamykania okna z informacją o wykorzystywaniu cookies każdej z witryn. Kto to wymyślił i po co. Przecież większośc witryn nie działa po wyłączeniu ciasteczek, więc jeśli chcę się normalnie korzystać z internetu, to trzeba zezwolić na cookies.
Jednym słowem – idiotyzm rządzących. Wymyślają rzeczy, o których nie mają pojęcia.