使用javascript获取或设置cookie

使用javascript获取或设置cookie,javascript,cookies,get,set,Javascript,Cookies,Get,Set,我的问题是,我是否可以使用javascript设置cookie(并阅读它) 我的第一印象是下面的代码不起作用 如果我查看vista cookie文件夹,则看不到cookie的名称 function zetCookie(naam,waarde,dagen) { // setCookie(name,value,days) if (dagen) { var date = new Date(); date.setTime(date.getTime()+(d

我的问题是,我是否可以使用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;
}
函数zetCookie(naam、waarde、dagen){//setCookie(名称、值、天数)
如果(达根){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var verloopdatum=“;expires=“+date.togmString();//到期日
}
else var verloopdatum=“”;
document.cookie=naam+“=”+waarde+verloopdatum+“路径=/”;
}    
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
我无法回答为什么cookie没有显示在您的Vista文件夹中,但该代码按照预期正确设置和读取cookie。你是如何测试它的?测试Cookie是否粘滞的一种更简单的方法是简单地执行以下操作:

<input type="button" value="Set" onClick="createCookie('test','yay',5);">
<input type="button" value="Read" onClick="alert(readCookie('test'));">
  • 安装Firefox
  • 安装FireBug
  • 安装FireCookies
  • 下载JQuery
  • 下载
  • 我在这里测试:这里:。工作完美

    是的,Firebug的饼干面板很棒


    我正在尝试使用您的脚本保存字体大小首选项。这里有一条线索:。

    您如何设置cookies?我在一个沙盒中添加了一个链接,在那里我测试了代码,它工作得很好。另外,readcookie()是否会忽略cookiename之前的user@呢?也许吧。我不太熟悉浏览器如何存储cookie或其他东西,因此我无法对user@part进行评论。这肯定是语法上的问题,因为它会在代码运行到假定设置了Cookie的函数时停止代码的执行,所以您可以编辑您的问题以显示您用于测试函数的代码吗?
    date.setTime(date.getTime()+(days*24*60*60*1000));