我有一个任务管理应用程序的问题,有时用户会关闭他们的浏览器/选项卡,并且他们键入的信息会因为他们不小心关闭浏览器/选项卡而消失,导致他们输入的文本丢失(有些可以花半小时输入文本)。
所以我必须提供一个解决方案,我有几个想法,但想要最好的输入,或者如果你有更好的解决方案,请告诉我。
选项1:
- 在这个
window.onunload
或可能的window.onbeforeunload
事件上调用一个 confirm() 对话框并首先测试任务记录区域是否有任何文本并且不是空白的。如果它不为空,则调用window.confirm()
并询问用户是否要关闭选项卡/窗口而不保存日志。
我对选项 #1 的担忧是它可能会侵入用户。
选项 2:
- 在同一事件中,不要调用任何 confirm(),而是将任务日志区域中的文本强制保存在 cookie 中。然后可能会提供一个按钮,尝试从同一页面上的 cookie 中恢复任何已保存的任务信息,因此点击该按钮将使其解析 cookie 并检索信息。