网页已关闭 - 警告 - 页面未保存

时间:2012-11-24 11:28:00

标签: javascript warnings shutdown

我有一个html5应用程序。它将东西发送到数据库。最初我当时正在进行数据库更新,但是,现在我允许离线使用,而是让用户选择何时发送到数据库。 (例如,如果他们在飞机上,他们可能希望稍后再做。)

所以,现在问题是,如果他们关闭,我想在他们之前警告他们,如果他们未能发送任何未发送的数据并允许他们返回以在必要时发送它。我将最终使用本地存储,直到它被发送,所以它不会丢失,但重要的是让用户知道它还没有发现。

我将拥有一个全局g_bUnsentData = true;如果有未发送的数据。

可以在javascript中完成,你怎么做?

此外,另外,如何测试在线状态,以便我可以警告用户是否处于脱机状态并尝试发送数据?

1 个答案:

答案 0 :(得分:1)

请参阅@ SmartK8的评论。

尽管如此,如果将函数绑定到返回字符串的beforeunload事件,大多数浏览器将显示该字符串并确认离开页面。例如:

The leave page confirmation on Chrome/Mac

某些浏览器可能根本不会在确认中显示您返回的字符串。其他浏览器,尤其是移动浏览器,甚至不会阻止页面被导航。

为了测试在线状态,navigator.onLine是一个布尔值,表示网络可用性。它无处不在(Opera,Firefox),但它是一个开始。有关详细信息,请参阅this page at html5 rocks