Зберігання інформації на клієнтському комп'ютері

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

Функція вище створює масив для вилучення імен 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);
>
>
>






Спробуйте самі »
Клацніть на кнопці "Спробуйте самі" щоб побачити як це працює

Приклад вище запускає функцію checkCookie () при завантаженні сторінки.

Схожі статті