【发布时间】:2019-08-17 21:15:25
【问题描述】:
如何在浏览器关闭2小时后删除local Storage数据?
【问题讨论】:
-
先生,但我想在浏览器关闭后删除存储。有没有办法做到这一点
-
先生,但我想在浏览器关闭后 2 小时后删除本地存储数据
标签: jquery local-storage local-variables
如何在浏览器关闭2小时后删除local Storage数据?
【问题讨论】:
标签: jquery local-storage local-variables
Session storage是基于浏览器关闭清除存储数据的最佳方式;否则,客户端无法对浏览器关闭事件做出反应(即使 Web 和 Service Worker 也需要浏览器运行才能发生后台进程)。
另一种方法是将过期时间也存储在本地存储中;但是,这意味着您需要 (1) 每次用户执行可能对用户造成负担的操作时更新过期时间 (2) 在页面加载/事件时检查本地存储过期时间。
最后,您可以创建一个具有过期时间的 cookie (such as in this example);但是,到期时间将从 cookie 设置时间开始,而不是从“浏览器窗口关闭时间”开始。
【讨论】:
请试试这个方法
jQuery("document").ready(function($){
var Lastclear = localStorage.getItem('Lastclear'),
Time_now = (new Date()).getTime();
//.getTime() returns milliseconds so 1000 * 60 * 60 * 24 = 24 Hours
if ((time_now - lastclear) > 1000 * 60 * 60 * 5) {
localStorage.removeItem('HideWelcomeMat{{ name }}');
localStorage.setItem('Lastclear', Time_now);
}
});
【讨论】: