gpt4 book ai didi

javascript - Onclick javascript cookie

转载 作者:行者123 更新时间:2023-11-28 12:21:46 25 4
gpt4 key购买 nike

我已经创建了一个内容储物柜(单击链接打开内容),但现在我陷入了 cookie 部分。单击特定链接后,内容储物柜在 30 天内不得再次出现。我已经创建了 onclick cookie 并且它可以工作,但我似乎无法设置 cookie 必须保留的天数(无论我做什么,将其设置为 session cookie),而且我也不知道如何阅读页面加载时的 cookie,以便它不会再次显示内容锁。我根本不是 javascript 专家,到目前为止我所管理的一切都来自谷歌搜索。这是我的代码

myDate = new Date('31/12/2020 12:00 UTC');
document.cookie = 'clicklink=yes; expires=' + myDate.toString + ';';

onclick="alert(document.cookie);">

请帮忙

最佳答案

Chris声明:

  1. Date 构造函数字符串的格式错误。
  2. Date.toString() 不会为 expires 属性生成正确的格式。

您可以阅读有关 cookie 的更多信息 here

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

function showCookie(){
document.write(document.cookie);
}

设置cookie:

<button onclick="setCookie('clicklink', 'yes', 30)">Create cookie.</button>

显示 cookie:

<button onclick="showCookie()">Show cookie.</button>

当然这应该使用事件监听器来完成,因此它不那么容易被篡改。

获取cookie的函数:

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) == 0) return c.substring(name.length,c.length);
}
return "";
}

要检查您的 cookie 是否已设置:

var cookieString = getCookie("clicklink");
if(cookieString == "yes"){
// do something.
}

关于javascript - Onclick javascript cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36493716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com