【问题标题】:js-cookie cookie value doesn't persist through refreshjs-cookie cookie 值不会通过刷新持续存在
【发布时间】:2016-06-26 23:12:09
【问题描述】:

我有一个网页,上面有广告。我正在使用 js-cookie 来管理我的 cookie

Link to JS-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()">&nbsp;</a>

function CloseCookieAdvertisement() {
    Cookies.remove('Advertisement');
    Cookies.set('Advertistement', 'closed');
}

这就是问题所在。当我第一次加载站点时,它确定该值未定义并创建值为'open' 的cookie

然后,在我关闭广告后,它将cookie设置为'closed'

但是在刷新之后,由于某种原因,它会创建一个名为'advertisement' 的附加cookie,其值为'open',而原始'advertisement' 的值仍为'closed'

这是我的整个代码减去广告的 html 的小提琴。我不知道 jsfiddle 是否允许您创建 cookie,所以我不确定这是否可行

https://jsfiddle.net/x43nbbmk/

【问题讨论】:

  • 如果您仅将 cookie 用于客户端操作,我建议您尝试使用 localStorage。
  • 检查 CloseCookieAdvertisement 中“Advertisement”与“Advertistement”的拼写
  • @Gary 哇。我现在觉得很笨。感谢您的帮助。

标签: javascript cookies


【解决方案1】:

在 CloseCookieAdvertisement 中检查“Advertisement”与“Advertistement”的拼写

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    相关资源
    最近更新 更多