#javascript #cookies
#javascript #файлы cookie
Вопрос:
Я следил за некоторыми связанными темами, а также следил за руководством по http://www.quirksmode.org/js/cookies.html но я не могу заставить свое печенье застыть.
<script type="text/javascript">
function setcookie(name, value, days)
{
if (days)
{
var date = new Date();
date.setTime(date.getTime() days*24*60*60*1000));
var expires = "; expires="date.toGMTString();
}
else var expires = "";
document.cookie = name "="value expires ;path=/";
}
</script>
Затем в моем теге у меня есть:
<body>
<script type="text/javascript">
setcookie("testcookie", "test", 1);
</script>
</body>
Есть идеи, где я ошибаюсь? У меня включены файлы cookie с помощью FF, и я могу видеть файлы cookie, создаваемые в режиме реального времени сайтами, такими как Youtube, но этот файл вообще не устанавливается.
Ответ №1:
Скрипт содержит несколько ошибок. Вот исправленная версия (протестирована):
function setcookie(name, value, days)
{
if (days)
{
var date = new Date();
date.setTime(date.getTime() days*24*60*60*1000); // ) removed
var expires = "; expires=" date.toGMTString(); // added
}
else
var expires = "";
document.cookie = name "=" value expires ";path=/"; // and " added
}
Комментарии:
1. Спасибо, мне нужно было добавить
toGMTString()
.
Ответ №2:
В этой строке отсутствуют знак и кавычки:
document.cookie = name "="value expires ;path=/";
должно быть:
document.cookie = name "=" value expires ";path=/";
Я бы посоветовал вам заглянуть в консоль ошибок вашего браузера или консоль вашего javascript-отладчика, чтобы увидеть ошибки javascript.
Комментарии:
1. По-прежнему без изменений, у меня всегда была цитата после истечения срока действия, но я пропустил ее, когда вводил ее здесь. Я добавил значение перед и протестировал, но все еще не установил файл cookie.
2. Есть еще две строки с ошибками, смотрите Мой ответ.
3. @SethHall — Если вы не собираетесь заглядывать в консоль ошибок вашего браузера, чтобы увидеть, где находятся ваши ошибки javascript, тогда вы могли бы также начать печатать с завязанными глазами. Это должно быть ПЕРВОЕ место, на которое вы обращаете внимание, когда код не выполняется. Смотрите ответ Yogu о некоторых других ваших ошибках, но в следующий раз загляните в консоль ошибок самостоятельно, чтобы увидеть свои собственные ошибки.