【问题标题】:How to remove Local Storage after certain amount of time?如何在一定时间后删除本地存储?
【发布时间】:2019-08-17 21:15:25
【问题描述】:

如何在浏览器关闭2小时后删除local Storage数据?

【问题讨论】:

标签: jquery local-storage local-variables


【解决方案1】:

Session storage是基于浏览器关闭清除存储数据的最佳方式;否则,客户端无法对浏览器关闭事件做出反应(即使 Web 和 Service Worker 也需要浏览器运行才能发生后台进程)。

另一种方法是将过期时间也存储在本地存储中;但是,这意味着您需要 (1) 每次用户执行可能对用户造成负担的操作时更新过期时间 (2) 在页面加载/事件时检查本地存储过期时间。

最后,您可以创建一个具有过期时间的 cookie (such as in this example);但是,到期时间将从 cookie 设置时间开始,而不是从“浏览器窗口关闭时间”开始。

【讨论】:

  • 在不使用任何服务器端语言的情况下使用 jquery 存储用户登录会话数据的最佳方法有哪些?
  • 会话存储就像本地存储一样(都是客户端);但是,它会在浏览器关闭时自动清除。最后一种选择是 cookie——这里有一个 jquery 插件stackoverflow.com/a/1458728/6322587 可以使用
  • 浏览器关闭几小时后我们可以清除cookie吗
  • 我更新了帖子,对过期的 cookie 发表了评论
【解决方案2】:

请试试这个方法

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);
        }
      });

【讨论】:

    猜你喜欢
    • 2018-01-15
    • 2012-02-27
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多