【发布时间】:2016-06-26 23:12:09
【问题描述】:
我有一个网页,上面有广告。我正在使用 js-cookie 来管理我的 cookie
当用户第一次导航到我们的网站时,我希望 javascript 检查名为 'advertisement' 的 cookie,如果不存在,则创建一个值为 'open' 的 cookie
//Check for cookie. if it doesnt exist, create it
var cookie = Cookies.get("Advertisement");
alert(cookie);
if (cookie == "undefined" || cookie == null || cookie == "" || cookie == "null") {
CreateCookieAdvertisement();
}
function CreateCookieAdvertisement() {
alert("Creating cookie function");
Cookies.set("Advertisement", "open");
}
该广告有一个锚标记,该标记具有将'Advertisement' 的值设置为'closed' 的javascript 函数
<a class="close" id="closeAdvertistement" onclick="CloseCookieAdvertisement()"> </a>
function CloseCookieAdvertisement() {
Cookies.remove('Advertisement');
Cookies.set('Advertistement', 'closed');
}
这就是问题所在。当我第一次加载站点时,它确定该值未定义并创建值为'open' 的cookie
然后,在我关闭广告后,它将cookie设置为'closed'
但是在刷新之后,由于某种原因,它会创建一个名为'advertisement' 的附加cookie,其值为'open',而原始'advertisement' 的值仍为'closed'
这是我的整个代码减去广告的 html 的小提琴。我不知道 jsfiddle 是否允许您创建 cookie,所以我不确定这是否可行
【问题讨论】:
-
如果您仅将 cookie 用于客户端操作,我建议您尝试使用 localStorage。
-
检查 CloseCookieAdvertisement 中“Advertisement”与“Advertistement”的拼写
-
@Gary 哇。我现在觉得很笨。感谢您的帮助。
标签: javascript cookies