码迷,mamicode.com
首页 > 其他好文 > 详细

localStorage溢出问题

时间:2019-03-07 14:20:16      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:溢出   注意   解决   err   避免   error   erro   cat   解决方案   

项目使用的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,再继续。

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

 

localStorage溢出问题

标签:溢出   注意   解决   err   避免   error   erro   cat   解决方案   

原文地址:https://www.cnblogs.com/natsu07/p/10489163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!