Onclick javascript cookie
我已经创建了一个内容锁(单击链接打开内容),但现在我被困在cookie部分。单击特定链接后,content locker在30天内不得再次出现。我已经创建了onclick cookie,它可以正常工作,但是我似乎无法设置cookie必须保留的天数(无论我如何将其设置为会话cookie),而且我也不知道如何在pageload上读取cookie,以便它不再显示内容锁定器。我根本不是javascript专家,到目前为止我管理的一切都不是谷歌搜索。这是我的密码Onclick javascript cookie,javascript,Javascript,我已经创建了一个内容锁(单击链接打开内容),但现在我被困在cookie部分。单击特定链接后,content locker在30天内不得再次出现。我已经创建了onclick cookie,它可以正常工作,但是我似乎无法设置cookie必须保留的天数(无论我如何将其设置为会话cookie),而且我也不知道如何在pageload上读取cookie,以便它不再显示内容锁定器。我根本不是javascript专家,到目前为止我管理的一切都不是谷歌搜索。这是我的密码 myDate = new Date('31
myDate = new Date('31/12/2020 12:00 UTC');
document.cookie = 'clicklink=yes; expires=' + myDate.toString + ';';
onclick=“警报(document.cookie);”>
请按说明提供帮助:
<button onclick="setCookie('clicklink', 'yes', 30)">Create cookie.</button>
<button onclick="showCookie()">Show cookie.</button>
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,请执行以下操作:
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 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,请执行以下操作:
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 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 "";
}
HTML
我想在单击时显示的一些内容
请仔细阅读此文档以了解更多详细信息
我建议你读一下。它与cookie类似,但更高效、更简单可能是Beat me的复制品。如果@davidzar想进一步了解他的解决方案不起作用的原因:1。
Date
构造函数字符串的格式错误。2. Date.toString()
没有为expires
属性生成正确的格式。嘿@davidzar,已经两年多了。让我们把这个设定为回答,嗯?
function checkCookieOnLoad() {
if(getCookie("clicklink") === "yes") {
// Show content and hide clicklink
document.getElementById("content").style.display = "none";
document.getElementById("clink").style.display = "initial";
} else {
// Hide content and show clicklink
document.getElementById("content").style.display = "initial";
document.getElementById("clink").style.display = "none";
}
}
<div id="content"> Some content that i want to show on click</div>
<a href="http://www.google.com/" target="_blank" onclick="setCookie('clicklink', 'yes', 30)" id="clink">Visit this to unlock</a>