【问题标题】:Adding a simple Cookie / Local Storage to remember if user has clicked添加一个简单的 Cookie / 本地存储来记住用户是否点击过
【发布时间】:2020-06-12 15:50:54
【问题描述】:

我在我的网站上添加了一个 cookie 通知栏。

我希望网站记住用户是否单击退出通知,这样它就不会出现在每个页面上或当他们重新访问该页面时。换句话说,我想制作一个 cookie 来记住用户是否已确认。我希望这是永久的,不会过期(不仅仅是该浏览器会话的临时 cookie)。

有人告诉我 LocalStorage 是一个不错的选择,尽管我对使用 javascript cookie 没有任何特别的怨恨(我真的不知道有什么区别)。任何永久解决方案都值得赞赏,但最好不必使用库,因为它应该很简单。

HTML

  <div class='cookie-notice'>
    We use cookies 
    <div class='exit'>
      X
    </div>
  </div>

jQuery

$('.exit').click(function(){
  $('.cookie-notice').css('display','none');
});

【问题讨论】:

    标签: javascript jquery cookies local-storage


    【解决方案1】:
    • Cookie 在每次 HTTP 请求时在服务器和客户端之间来回发送。

    • Web Storage 仅用于在客户端存储信息。

    所以要将其设置为永久,您应该使用 Web Storage API 提供的localStorage

    const isNoticeSeen = window.localStorage['noticeSeen'] === 'true';
    if (isNoticeSeen) {
      $('.cookie-notice').css('display','none');
    }
    
    $('.exit').click(function(){
        window.localStorage['noticeSeen'] = true;
    });
    

    这里是小提琴链接:https://jsfiddle.net/qbe0vLpk/

    【讨论】:

    • 鉴于我上面的代码,您能否分享一下我的情况所需的确切代码?
    • 我在 JSFiddle 上添加了代码和工作版本的链接。
    猜你喜欢
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2013-06-11
    • 1970-01-01
    • 2019-04-26
    相关资源
    最近更新 更多