【发布时间】:2018-06-14 14:55:22
【问题描述】:
在过去,侦听onbeforeunload 可以让开发人员提醒用户有未保存的数据,并且他们可能不想离开浏览器中的当前页面。
现在 Chrome doesn't support onbeforeunload and recommends the Page Visibility API。了解某个页面是否正在被查看似乎对某些事情很有用,但是 Web 应用程序如何告诉正在导航的用户他们的某些数据尚未同步?
【问题讨论】:
-
谁说 chrome 不支持 onbeforeunload? (尝试离开此页面上的答案)。此外,您可以在卸载期间使用
navigator.sendBeacon将其发送到服务器,它会在卸载完成之前继续存在。 -
上面的链接说不支持。
beforeunload看起来可能有条件支持,如果用户与页面交互:developer.mozilla.org/en-US/docs/Web/Events/beforeunload 这可能足以解决保存状态的问题。 -
我想我在这里寻找最好的模式,代码方面,正确处理跨浏览器的卸载事件。
-
如果他们不互动就没有工作可丢吗?您可以在用户输入时保存所有用户输入,例如
localStorage...
标签: javascript web web-applications