我正在使用localstorage在网页上进行gmail式自动保存。
所以我基本上每30秒就保存到本地,好的。
问题在于恢复。我无法检测用户是否已崩溃或错误退出。
因此,假设用户崩溃并再次加载表单,我不能继续保存并覆盖以前的自动保存。我需要恢复以前的保存。
但是让我们说用户没有崩溃。他正确地做了一切,但后来使用不同的浏览器编辑同一个文件,因此没有新数据到以前浏览器的本地存储。
然后,他在之前的浏览器中加载文件。在这种情况下,不应该恢复本地存储。假设无法比较时间戳,我该如何解决这个问题?
感谢。
答案 0 :(得分:1)
假设您正在使用像Gmail这样的AJAX风格页面。
在页面级别保留一个布尔标志,但在localstorage之外和任何特定刷新区域之外。
var bIsInited = false;
每当重新加载整个页面时,无论是第一次点击刷新还是页面加载(即浏览器重新启动后),该标志都将为false。
如果在UI交互时此标志为false,则从localstorage恢复UI的状态,并将标志设置为true。
继续对localstorage进行新的更改(除非像以前一样,通过某种方式将标志设置为false,在这种情况下,在将UI写回localstorage之前,将localstorage读入UI是相同的信号)。
这个流程有很多变化,但这是它的要点。