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>.

// 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);
	});
});

Kod do umieszczenia w sekcji <head></head>:

<script type="text/javascript" src="cookie.js"></script>

 

Uwaga!

Aby skrypt działał prawidłowo, należy wcześniej dołączyć bibliotekę jQuery (jeśli strona z niej nie korzysta).

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="cookie.js"></script>