Javascript 使用Cookie将localStorage项设置为过期

Javascript 使用Cookie将localStorage项设置为过期,javascript,html,cookies,local-storage,Javascript,Html,Cookies,Local Storage,我试图用一个关闭按钮将一个横幅撤除,我不希望它在撤除后30天内再次出现 我已经实现了第一部分使用localStorage,如下所示 if (localStorage.getItem('popup') != 'closed') { var x = document.getElementById("popup"); x.style.display = "block"; } function closePopup() {

我试图用一个关闭按钮将一个横幅撤除,我不希望它在撤除后30天内再次出现

我已经实现了第一部分使用localStorage,如下所示

if (localStorage.getItem('popup') != 'closed') {
  
    var x = document.getElementById("popup");
    x.style.display = "block";
  
}

function closePopup() {

    var x = document.getElementById("popup");
    x.style.display = "none";
    localStorage.setItem('popup','closed');
      
}

我现在正试图设置有效期,我开始认为我应该用饼干来代替。我可以为Cookie的localStorage项设置到期时间吗?在本例中,Cookie是否更适合使用?

您可以将其关闭时的时间戳存储在
localStorage
中,然后在初始化时查看该时间戳是否
=30天,如果是,显示弹出窗口并清除
localStorage

中的时间戳。您不能使用
localStorage
执行此操作。您应该使用
cookies
。我更喜欢本地存储。Cookie通常需要与每个服务请求一起返回,当localstorage停留在客户端计算机中时,UI可以直接在那里做出决定,而无需将其发送到服务器。@RinkeshGolwala您不能为
localstorage
项目设置自动到期日期。我实现它的方法是在localstorage中设置时间戳,并将其与新日期()进行比较。@RinkeshGolwala Yea,这需要在每个页面加载事件中使用检查函数。因此,与
cookie
相比,它不是首选。这听起来是一个不错的解决方案,使用cookie是否比这种方法有任何好处?@fightstarr20仅当服务器需要知道时间戳时。