如何在浏览器崩溃时清除本地存储
How to clear localStorage on browser crash?
我有一个具有实时聊天功能的应用程序。当它打开时,聊天将在一个新的弹出窗口中。当这个窗口打开时,我需要阻止用户打开另一个聊天窗口(他们一次只能进行一个聊天)。所以,我有一个简单的标志,下面的代码触发弹出加载:
localStorage.setItem('chatOpen', true);
window.onunload = function() {
localStorage.setItem('chatOpen', false);
};
我在打开弹出窗口之前检查这个标志。它正常工作,但如果浏览器崩溃,窗口。Onunload事件没有触发,然后用户再也不能打开聊天窗口了。我该如何补救呢?
如果你稍微改变一个逻辑:启动一个计时器,它每秒更新时间戳…另一方面,如果current time - timestamp > 1
秒,则表示最后一页已关闭
伪代码:
on load :
if localStorage has value with key chattimestamp and datetime.now -localstorage[chattimestamp] < 1 sec
another instance is oppened
else
settimer that every 1 sec update timestamp to localstorage[chattimestamp]
我认为你可以选择1秒以上,实际上5-10秒应该可以
相关文章:
- 清除网格中的存储和加载搜索结果
- 会话存储何时实际清除
- 使用 filterBy() 应用筛选器时,从 ExtJs 存储中清除筛选器的最快方法
- 如何删除和清除所有本地存储数据
- 如何在 angularjs 应用程序中注销时删除/清除存储在范围变量中的数据
- 从服务器端清除本地存储
- 如何擦除、清除、擦除保存在iPad主屏幕上的网络应用程序的HTML5本地存储
- 从本地存储中清除选中的li项目
- 清除本地存储以进行单选选择
- 清除计时器而不将其存储在 nodejs 中
- 我想清除jQuery存储的所有数据
- 正在从本地存储中清除对象
- 如何找到firepad编辑器的文本存储位置以及如何清除编辑器
- 检测选项卡关闭并清除本地存储
- 如何在javascript中清除会话存储
- 如何从本地存储中清除相同的对象并增加数量
- 如何在浏览器关闭但不刷新时清除本地存储
- 重新启动浏览器后清除本地存储变量
- 是否有办法清除会话存储的一行
- 当用户关闭窗口时清除本地存储