【问题标题】:getting or setting cookies with javascript使用 javascript 获取或设置 cookie
【发布时间】:2009-05-13 23:39:49
【问题描述】:

我的问题是我是否可以使用 javascript 设置 cookie(并阅读它)

我的第一印象是下面的代码不起作用 如果我查看我的 vista cookie 文件夹,我看不到 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;
}

【问题讨论】:

    标签: javascript cookies get set


    【解决方案1】:

    我无法回答为什么 cookie 没有显示在您的 Vista 文件夹中,但该代码按预期正确设置和读取 cookie。你如何测试它?测试 cookie 是否粘住的更简单方法是简单地执行以下操作:

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

    如果让你感觉好些,你可以在设置和阅读之间刷新页面,但是it works for me

    如果这不符合您的预期,请确保您的浏览器已设置为接受 cookie。 :)

    编辑:查看您的代码,您错过了在这一行中替换 days

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

    【讨论】:

    • 你是如何设置cookies的?我添加了一个指向我测试代码的沙盒的链接,它工作正常。
    • 另外,readcookie() 会忽略 cookiename 之前的 user@ 吗?
    • 也许吧。我不太熟悉浏览器如何存储 cookie 或其他什么,所以我无法真正评论 user@ 部分。
    • 它肯定是语法中的某些东西,因为它从运行到应该设置 cookie 的函数的点停止执行代码
    • 您能否编辑您的问题以显示您用于测试功能的代码?
    【解决方案2】:

    我在这里测试它:http://flamencopeko.net/cookie.php 和这里:http://flamencopeko.net/cookie.js。完美运行。

    而且,是的,Firebug 的 Cookies 面板很棒。

    我正在尝试使用您的脚本来保存字体大小首选项。这是一个线程:simplify font size toggle

    【讨论】:

      【解决方案3】:
      1. 安装火狐
      2. 安装 FireBug
      3. 安装 FireCookies
      4. 下载jQuery
      5. 下载Cookie plugin

      【讨论】:

        猜你喜欢
        • 2017-09-05
        • 2013-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-15
        相关资源
        最近更新 更多