javascript 可以为sessionStorage的,localStorage的设置过期时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 可以为sessionStorage的,localStorage的设置过期时间相关的知识,希望对你有一定的参考价值。

class Storage {
  constructor(strategy = 'internal') {
    this.strategy = strategy
  }

  /**
   * @param {string} key
   * @param {any} val
   * @param {number} maxAge 存储时间:ms
   */
  set(key, val, maxAge = 0) {
    const data = {
      val,
      expires: maxAge === 0 ? 0 : Date.now() + maxAge,
    }
    window[this.strategy][key.toString()] = JSON.stringify(data)
  }

  get(key) {
    const data = window[this.strategy][key.toString()]
      && JSON.parse(window[this.strategy][key.toString()])

    if (data) {
      if (data.expires === 0) {
        return data.val
      }

      if (Date.now() < data.expires) {
        return data.val
      }

      this.remove(key)
      return null
    }
    return null
  }

  remove(key) {
    delete window[this.strategy][key.toString()]
  }
}

// 全局变量
window.internal = window.internal || {}

const local = new Storage('localStorage')
const session = new Storage('sessionStorage')
const internal = new Storage('internal')

export default {
  local,
  session,
  internal,
}

以上是关于javascript 可以为sessionStorage的,localStorage的设置过期时间的主要内容,如果未能解决你的问题,请参考以下文章

JavaEE——JavaScript

在 SessionStore 而不是 cookie 中设置 Node.js Express 会话过期时间

Cookie 与 CookieStore 的会话

Reactjs Token 过期时间

17 el-tree defaultCheckedKeys配置 和 树上面选中节点不同步问题

17 el-tree defaultCheckedKeys配置 和 树上面选中节点不同步问题