Вход

Просмотр полной версии : куки отказывается подчиняться


newprogramm
09.11.2012, 12:23
не записывает в куки может что не правильно делаю...writeCookie - вот она не работает

function writeCookie(name, value, days)
{
var expires = '';

if(days)
{
var date = new Date();
date.setTime(date.getTime() + (days * 24 *60 * 60 *1000));
expires = ";expires=" + date.toGMTString();
}
if(document.cookie = name + '=' + value + expires + ";path=/")
alert("good");
else
alert('error');


}

function readCookie(name)
{
var xname = name + "=";
var xlen = xname.length;
var clen = document.cookie.length;
var i = 0;
while(i < clen)
{
var j = i + xlen;
if (document.cookie.substring(i, j) == xname)
return getCookieVal(j);
i = document.cookie.indexOf(" ",1) + 1;
if (i == 0) break;
}
return null;
}

function eraseCookie(name)
{
writeCookie(name, '', -1);
}



<html>
<head>
<title> Чувааааак</title>
<script type = 'text/javascript' src = 'cookie.js'></script>
<script type = "text/javascript">
var userName;
function greetUser()
{
userName = readCookie('irock_userName');
if(!userName)
alert('Привет Чувааак!!! походу ты здесь впервые');
else
alert("Здорова " + userName + " Смотрю ты снова со мной");
}
function touchRock()
{
if(userName)
{
alert("Здорова " + userName);
}
else
{
userName = prompt("Чуваак как тя ховут", "человек");
if(userName)
{
alert("Здорова " + userName + " запись в куки");
writeCookie('irock_userName', userName, 10);
}
}
document.getElementById('imgBy').src = 'img/rock_smile.jpg';
setTimeout("document.getElementById('imgBy').src = 'img/one.jpg'", 1*60*1000);
}

function sizeRock(){
document.getElementById('imgBy').style.height = (document.body.clientHeight -100) * 0.9;
}
</script>
</head>
<body onload = "sizeRock(); greetUser();" onresize = "sizeRock();">
<div style = "margin-top: 100px; text-align: center;">
<img style = "cursor:pointer;" id = 'imgBy' src = "img/rock.jpg" onclick = "touchRock();">
</div>
</body>
</html>

ruslan_mart
09.11.2012, 12:37
function setCookie(name, value)
{
document.cookie = name+'='+escape(value)+'; expires = Mon, 01-Jan-2999 00:00:00 GMT; path=/';
}
function getCookie(name)
{
var pattern = "(?:; )?" + name + "=([^;]*);?";
var regexp = new RegExp(pattern);
if(regexp.test(document.cookie))
return decodeURIComponent(RegExp["$1"]);
return false;
}

//-----
var username = getCookie('UserName');
if(!username)
{
alert('Здарова чувак! Ты здесь впервые!');
setCookie('UserName', true);
}

newprogramm
09.11.2012, 12:56
спасибо...возник еще вопрос...работает везде кроме хрома...из за чего такое может быть...ведь остальные сайты записывают в куки а мой нет.
пишет куки недоступен

if(navigator.cookieEnable)
alert('куки доступен');
else
alert('куки недоступен');


это можно как то обойти

ruslan_mart
09.11.2012, 13:27
newprogramm, странно, у меня хром true выдаёт.

Ну, можно тогда воспользоватьcя таким методом:

setCookie('test', true);
if(getCookie('test'))
{
alert('куки доступен');
}
else
{
alert('куки недоступен');
}