получение или установка файлов cookie с помощью JavaScript - PullRequest
0 голосов
/ 14 мая 2009

У меня вопрос, могу ли я установить cookie, используя javascript (и прочитать его)

Мое первое впечатление, что приведенный ниже код не работает Если я загляну в свою папку cookie-файлов vista, я не смогу увидеть название cookie-файла

function zetCookie(naam,waarde,dagen) {     // setCookie(name,value,days)
    if (dagen) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var verloopdatum = "; expires="+date.toGMTString(); // expiry_date
    }
    else var verloopdatum = "";
    document.cookie = naam+"="+waarde+verloopdatum+"; path=/";
}    

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

Ответы [ 3 ]

0 голосов
/ 14 мая 2009
  1. Установить Firefox
  2. Установить FireBug
  3. Установить FireCookies
  4. Скачать JQuery
  5. Скачать плагин Cookie
0 голосов
/ 23 мая 2013

Я проверяю это здесь: http://flamencopeko.net/cookie.php и здесь: http://flamencopeko.net/cookie.js. Работает отлично.

И да, панель Cookies Firebug великолепна.

Я пытаюсь использовать ваш скрипт для сохранения настроек размера шрифта. Вот тема на эту тему: упрощение переключения размера шрифта .

0 голосов
/ 14 мая 2009

Я не могу ответить, почему куки не отображаются в вашей папке Vista, но этот код правильно устанавливает и читает куки, как и предполагалось. Как вы это тестируете? Более простой способ проверить, не зависают ли файлы cookie, просто сделав что-то вроде этого:

<input type="button" value="Set" onClick="createCookie('test','yay',5);">
<input type="button" value="Read" onClick="alert(readCookie('test'));">

Вы можете обновить страницу между настройкой и чтением, если вам лучше, но у меня работает .

Если это не соответствует вашим ожиданиям, убедитесь, что ваш браузер настроен на прием файлов cookie. :)

EDIT : Глядя на свой код, вы пропустили замену days в этой строке:

date.setTime(date.getTime()+(days*24*60*60*1000));
...