zoukankan      html  css  js  c++  java
  • localStorage溢出问题

    项目使用的store.js库

      store.js库不能管理localStorage中的过期项到时清除,只能在再次调用get的时候才做处理,如果一直不调用get,过期了也还是占用着空间。溢出后,再储存项目时setItem方法会报错exceeded error。特别要注意,如果store.js加载时容量已经满了,store.js由于不能通过setItem方法储存,test返回false,导致不会挂载localStorage库,之后调用store的方法都会报错,因为store属性为undefined。

    解决方案:1.挂载store.js前先检测localStorage能否setItem(保证store加载不出错)

    2. 加载store.js后,遍历localStorage,用store去get每一项(即清理了过期项)

    3. 重写store的set方法,先判断能否setItem(放在try catch里),溢出的话先清空localStorage,再继续。

    实际使用时,只执行第二种就可以避免大多数场景下溢出的情况。

  • 相关阅读:
    Codeforces.468C.Hack it!(构造)
    BZOJ.3227.[SDOI2008]红黑树tree(树形DP 思路)
    146
    145
    144
    143
    142
    141
    140
    139
  • 原文地址:https://www.cnblogs.com/natsu07/p/10489163.html
Copyright © 2011-2022 走看看