一段时间后如何从localStorage中删除一些东西? [复制]

Posted

技术标签:

【中文标题】一段时间后如何从localStorage中删除一些东西? [复制]【英文标题】:How to remove something from localStorage after a period of time? [duplicate] 【发布时间】:2018-11-13 08:31:16 【问题描述】:

我有一个基本表单要求加入一个电子邮件列表,当有人提交时我会消失,并且不会通过在 localStorage 中隐藏一个 ID 重新出现。我还有一个按钮,如果用户不想注册电子邮件,您可以按下该按钮使 div 消失,这也是在 localStorage 中完成的。这两个点击事件都会触发'hideEmail()'

是否可以通过检查 id 何时放置在 localStorage 中以及是否超过 x 时间将其更改回来来反向隐藏 id?

function hideEmail() 
    $('#footer').hide();
    localStorage.setItem('hidden', 'true'); //store state in localStorage


$(document).ready(function()
    var hidden = localStorage.getItem('hidden');
    if(hidden === 'true')
        $('#footer').hide();
    
);

【问题讨论】:

还要加时间戳吗? yyess..这似乎是正确的方向,谢谢! localstorage 新手,感谢您的帮助! ***.com/a/4275854/7822433 【参考方案1】:

您是指,比如说,当用户关闭页面时,当用户重新打开页面时,检查用户是否超过了允许的时间,以便取消隐藏页脚?

如果是这样,您希望使用的是 cookies。您可以这样定义它们:

var d = new Date();
var username = "any_username";
// Set cookie to expire in, say, 4 days. Then you can do an if statement and check if cookie is expired, so you can set hidden to false.
document.cookie = "username=" + username + ";expires=" + d.getDate()+4+";";

【讨论】:

我正在尝试避免使用 cookie,向本地存储事件添加时间戳可以解决我的问题,谢谢

以上是关于一段时间后如何从localStorage中删除一些东西? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据分配给当前单击元素的数据从 localStorage 中删除 JSON 对象?

从 Vuejs 中的 localStorage 中删除值

React JS:从 localStorage 中删除一个项目

LocalStorage,遍历匹配的 ID,从 DOM 中删除

Extjs4 localstorage -- 如何删除所有记录?

如何从innerHTML输出中删除引号