Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт увеличения куки +1 (https://javascript.ru/forum/misc/52469-skript-uvelicheniya-kuki-1-a.html)

Argonaft 20.12.2014 20:02

Скрипт увеличения куки +1
 
function SetCookie_raw() {
	var raw = getCookie("raw");
	var date = new Date;
	date.setDate( date.getDate() + 90 );
	if (raw == undefined){
		document.cookie="raw=1; path=/; expires="+date.toUTCString();	
	} else {
		raw = parseInt(raw) + 1;
		document.cookie="raw="+raw+"; path=/; expires="+date.toUTCString();
	}
}
function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

document.write(getCookie("raw"));


<a href="#" OnClick="SetCookie_raw()">SetCookie</a><br>

при клике ставлю куку если ее нет = 1
если кука есть читаю ее и ставлю +1
не работает :)

Я предполагаю что в JS нельзя использовать функцию в функции ... getCookie
но как же тогда мне быть?

Malleys 20.12.2014 22:14

Если адрес документа начинается на 'file:///' не работает, а так работает
function SetCookie_raw() {
	var raw = getCookie("raw");
	var date = new Date;
	date.setDate( date.getDate() + 90 );
	if (raw == undefined){
		document.cookie="raw=1; path=/; expires="+date.toUTCString();	
	} else {
		raw = parseInt(raw) + 1;
		document.cookie="raw="+raw+"; path=/; expires="+date.toUTCString();
	}
}
function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

SetCookie_raw();
alert(getCookie("raw"));


Часовой пояс GMT +3, время: 12:43.