我正在尝试构建一个解决方案,以允许我的单页应用程序在用户点击刷新后继续存在。目前我有一个大型模型对象,我存储在DOM中,当用户使用应用程序我添加和删除模型对象中的信息。基于阅读其他帖子,我开始使用以下内容:
function snapshotModel(){
var tempModel = JSON.stringify(modelLocator);
sessionStorage.setItem('model', tempModel);
console.log('updated model snapshot');
}
function getTempModel(){
if (sessionStorage.model && sessionStorage.model.length > 0){
var tempModel = sessionStorage.getItem('model');
modelLocator = $.parseJSON(tempModel);
} else {}
}
一旦用户登录,这种方法很有用我拍摄了modelLocator的快照,并且每隔5-10分钟继续这样做。但是,一旦用户开始使用应用程序(编辑他们的用户信息或处理订单交易),我就会最大化Chrome中的值限制。测试时我发现chrome可以占用120666个字符。通过交易中途,我打了大约196475个字符。因此,您可以看到我的modelLocator被截断,当用户点击刷新时,我们无法将字符串重新加载为JSON。
我是否有关于如何存储模型的建议?某些区域的模型是名称值对,其他部分是6个杠杆深的对象。
感谢您的帮助。
答案 0 :(得分:0)
发现问题是浏览器开发工具使用console.log截断值,在sessionStorage中给出了真正的值