【问题标题】:How can i make cookies with javascript如何使用 javascript 制作 cookie
【发布时间】:2014-09-03 18:36:49
【问题描述】:

假设我有以下功能

<script language="javascript">

function myfunction() {
   alert("This function was successfully triggered");
}

myfunction(); // trigger it
</script>

我想让它丢弃带有名称和 24 小时有效期的 cookie,并且每次用户触发函数 myfunction(); 时,它都会检查 cookie 是否存在以及是否有效

我的意思是这样的方案

1) var cookie_name = cowboy; // 定义名称

2) 检查名称为 cowboy 的 cookie 存在且自今天起 24 小时内有效。

  • 如果存在且有效,则什么也不做
  • 如果不存在或无效,则发出警报并删除名称为 cookie_name 的 cookie 24 小时,然后发出警报 alert("This function was successfully triggered");

所以任何帮助如何重写这个函数来做到这一点。

【问题讨论】:

标签: javascript cookies


【解决方案1】:

你可以简单地使用像this这样的cookie

JavaScript 代码:

function setCookie(cname,cvalue,exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname+"="+cvalue+"; "+expires;
}

function getCookie(cname) {
    var name = cname + "=";
    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);
        if (c.indexOf(name) != -1) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user=getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
       user = prompt("Please enter your name:","");
       if (user != "" && user != null) {
           setCookie("username", user, 30);
       }
    }
}

调用HTML里面的函数:

 <body onload="checkCookie()">

【讨论】:

  • 非常感谢,根据您的示例和一些搜索结果,我已经做到了并且工作完美,但仍然不确定到期日期,因为我可以看到它只检查 @987654325 的 cookie @.
  • 1*24*60*60*1000 是指 1 天吗?
  • @MajdMahmoud 你也可以参考goo.gl/3Kor3I这解释了更多
猜你喜欢
  • 1970-01-01
  • 2017-09-05
  • 1970-01-01
  • 2021-02-18
  • 2010-10-10
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多