在我的GWT应用程序中,当用户通过输入URL或关闭浏览器来导航离开当前应用程序时,我想要问用户确认。通常,这是通过注册ClosingHandler并在onWindowClosing方法中设置所需的对话框消息来完成的。这似乎效果很好。
然而,如果用户尝试导航到例如http://www.gmail.com(通过在URL栏中键入)并点击“取消”表示他不想导航,则我的应用程序仍在运行,但浏览器的URL栏仍然指示http://www.gmail.com。这会导致以后在我的应用程序中产生许多问题,并且如果用户将页面加为书签,则会得到错误的结果。
是否有一种方法可以在用户按下“取消”时自动重置URL?
或者,另一种选择是是否有一种方法可以检测到用户按下了“取消”按钮?如果是这样,是否有一种方法可以设置URL而不触发ValueChangeEvent?(我可以添加一些逻辑来防止这种情况,但如果存在内置机制,我宁愿使用它。)
然而,如果用户尝试导航到例如http://www.gmail.com(通过在URL栏中键入)并点击“取消”表示他不想导航,则我的应用程序仍在运行,但浏览器的URL栏仍然指示http://www.gmail.com。这会导致以后在我的应用程序中产生许多问题,并且如果用户将页面加为书签,则会得到错误的结果。
是否有一种方法可以在用户按下“取消”时自动重置URL?
或者,另一种选择是是否有一种方法可以检测到用户按下了“取消”按钮?如果是这样,是否有一种方法可以设置URL而不触发ValueChangeEvent?(我可以添加一些逻辑来防止这种情况,但如果存在内置机制,我宁愿使用它。)