目标:它们是我的 Web 应用程序中的可编辑表单。如果表单处于可编辑模式,我想在页面更改时向用户提供确认导航弹出窗口,以便保存表单的数据。
问题:如果表单处于可编辑模式并且用户点击正文上的导航后退按钮或退格键,则 Web 应用程序将移动到上一个历史记录页面,而无需任何确认导航。
我能够分别在窗口的重新加载和关闭事件上提供确认重新加载和确认关闭。
有什么方法可以阻止用户更改 url,从而防止表单数据丢失。
注意:只能使用 JAVA、GWT 和 JAVASCRIPT。
最佳答案
如果您使用“Activity ”和“地点”设计模式,则每个“Activity ”都带有一个方法 mayStop()。如果返回 null,则当用户移动到其他位置时不会要求确认。
您可以向此方法添加一个检查,以查看 View 是否处于编辑模式,如果是,则返回警告消息文本。
如果您没有为演示者使用 Activity,则应将 ValueChangeHandler 添加到入口点类中的 History 对象,如下所述:
http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsHistory.html
关于java - 防止用户更改浏览器中后退按钮上的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22962677/