cookie часто використовується для ідентифікації користувача.
Що Таке Cookie?
Створення та Зберігання Cookie
У цьому прикладі ми створимо cookie, яка зберігає ім'я користувача. Перший раз, коли користувач постетіт веб сторінку, йому буде запропоновано ввести своє ім'я. Потім ім'я збережеться в cookie. Наступного разу, коли відвідувач прийде знову на ту ж сторінку, він отримає вітальне повідомлення.
Перш за все, ми створимо функцію, яка зберігає ім'я користувача та змінну cookie:
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;
>
Параметри функції вище включають ім'я cookie, значення cookie, і кількість днів, протягом яких буде зберігатися cookie.
У цій функції ми спочатку отримуємо поточну дату, потім ми додаємо до неї кількість днів, протягом яких повинна зберігатися cookie. Після цього ми зберігаємо ім'я cookie, значення cookie і "термін придатності" в об'єкт document.cookie.
Тепер ми створимо іншу функцію, яка повертає зазначену cookie:
function getCookie (c_name)
var i, x, y, ARRcookies = document.cookie.split ( ";");
for (i = 0; i
y = ARRcookies [i] .substr (ARRcookies [i] .indexOf ( "=") + 1);
x = x.replace (/ ^ \ s + | \ s + $ / g, "");
if (x == c_name)
return unescape (y);
>
>
>
Функція вище створює масив для вилучення імен cookie і значень, потім вона перевіряє, чи існує зазначена cookie, і повертає значення cookie.
Нарешті, ми створимо функцію, яка показує вітання, якщо cookie встановлена, а якщо cookie не встановлена, то функція виведе вікно запрошення, запитуючи ім'я користувача, а потім зберігає введене ім'я на термін 365 днів, викликаючи функцію setCookie:
function checkCookie ()
var username = getCookie ( "username");
if (username! = null username! = "")
alert ( "Ласкаво просимо" + username);
>
else
username = prompt ( "Будь ласка, введіть ваше ім'я:", "");
if (username! = null username! = "")
setCookie ( "username", username, 365);
>
>
>
А тепер всі разом:
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 checkCookie ()
<
var username = getCookie ( "username");
if (username! = null username! = "")
if (username! = null username! = "")
<
setCookie ( "username", username, 365);
>
>
>