本地存储 - 从多个选项卡保存数据

时间:2016-04-16 19:10:57

标签: javascript html5 local-storage

我正在使用localStorage存储一些内容(个人资料访问历史记录)。

每次配置文件打开时,我都会获得对象,添加更多条目并更新对象。 这可能导致数据丢失(例如:tab1:open,tab2:open,tab1:save,tab2:save)。

现在,如果我按住cntrl并同时打开许多新标签,如何防止数据丢失? 没有找到关于localStorage锁定的任何信息。

2 个答案:

答案 0 :(得分:1)

您可以增加变量而不是获取整个新对象,或者将该新对象推送到数组中并计算获得该数组长度的总视图。只要localStorage位于同一个域中,就会在不同的选项卡中共享。

答案 1 :(得分:0)

选项1。

打开选项卡时,检查并将变量(例如editing)放入localStorage。因此,如果打开另一个选项卡,则可以在新选项卡上创建警告。清除变量onPageUnload事件。 (Pessimistic Lock

选项2。

在保存操作上更新/放置变量(例如saveTimesaveCount)。当选项卡打开时,检索此变量并在保存操作时检查变量是否重新运行。如果值不相同,则警告用户他/她正在编辑最旧版本的数据。 (Optimistic Lock

Optimistic Lock vs Pessimistic Lock