Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Установка cookie через JavaScript

Довольно часто требуется установить (или получить) для сайта куки с помощью JS. Ниже приведен пример кода, который всегда должен находится под рукой.

Код установки кук выглядит следующим образом

function setcookie(name, value, expires, path, domain, secure) {
	// +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)

	expires instanceof Date ? expires = expires.toGMTString() : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
	var r = [name + "=" + escape(value)], s, i;
	for(i in s = {expires: expires, path: path, domain: domain}){
		s[i] && r.push(i + "=" + s[i]);
	}
	return secure && r.push("secure"), document.cookie = r.join(";"), true;
}

Значение куки установлено. Теперь попробуем его получить.

function getCookie(name) {
	var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
	return matches ? decodeURIComponent(matches[1]) : undefined;
}

Ничего заоблачно умного к этом коде нет, да и не должно быть, это все-таки базовые вещи. Но менее полезным он от этого не становятся :)

  • 2014-12-26 22:58:49