Разрабатывая веб приложения Вы скорее всего столкнетесь с необходимостью использовать cookie. Я расскажу Вам и приведу пример готовых функций для работы с куками в javascript.
Для тех кто не знает расскажу, что cookie это строковые данные, которые сохраняются у посетителя Вашего сайта. Вы можете обрабатывать эти данные и использовать их, например, для отображения или скрытия подсказок. Важно отметить, что Вы можете работать с куками только от Вашего сайта. В противном случае, возможность работать с данными всех сайтов привела бы к катастрофической бреши в безопасности. Каждая кука имеем свое время жизни, что избавляет нас от реализации логики времени хранения данных.
Для того чтобы создать cookie можно воспользоваться следующей функцией:
function setCookie(name, value, options) { options = options || {}; //по умолчанию нет параметров (допустимые: expires, domain, secure, path) var expires = options.expires; if (typeof expires == "number" && expires) { //если указано время жизни, и это число var d = new Date(); d.setTime(d.getTime() + expires * 1000); //expires в секундах expires = options.expires = d; } if (expires && expires.toUTCString) { options.expires = expires.toUTCString(); } value = encodeURIComponent(value); var data = name + "=" + value; //строка в формате cookie имеет вид "имя_куки=значение" for (var propName in options) { //дописываем параметры кук (domain, secure, path) data += "; " + propName; var propValue = options[propName]; if (propValue !== true) { data += "=" + propValue; } } document.cookie = data; //сохраняем куку }
Для получения значения cookie воспользуемся функцией:
function getCookie(name) { var matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : undefined; }
Пример использования функций:
//создаем куку с именем welcome со значением 1, временем жизни 3 дня и доступной на всем сайте setCookie('welcome', 1, { path: '/', expires: 3600*24*3 }); if(getCookie('welcome') == '1') { alert('Кука welcome равна еденице!'); }
P.S. Примеры функций взяты с сайта learn.javascript.ru. Это, пожалуй лучшая реализация без использования дополнительных плагинов.