2012-07-10 41 views
0

如果用户在登录后按下F5或 刷新按钮,他应该保持在同一页面上。现在他是 重定向到登录页面。如何在gwt中避免addWindowClosingHandler/ClosingEvent不需要的重新加载请求

我已经使用下面的代码留在同一页面上。

但我不想通过在onWindowClosing()方法中写入 event.setMessage()来警告用户这种情况。我只是想让 功能,如果他错误地做了浏览器刷新,将感觉用户什么也没有发生,甚至 。

我正在寻找避免由[给出的不需要的弹出窗口或如何处理创建弹出窗口的手动操作,因此无法重新生成com.google.gwt.user.client.Window.confirm(“你真的要退出吗?“)]

Window.addWindowClosingHandler(new Window.ClosingHandler() { 
    @Override 
    public void onWindowClosing(ClosingEvent event) { 
    //how to prevent sending reload request OR [on cancel button MANUALLY] 
    }}); 
+0

大家好,我已经在互联网上尝试过,但有助于除gwt之外,这些代码已经实现,但没有像reload()那样得到效果。在此先感谢 – 2012-07-10 11:53:40

+0

您的问题不清楚。你意味着什么样的弹出窗口? – 2012-07-10 12:41:19

+0

是的,显示弹出消息“此页面要求您确认您要离开 - 您输入的数据可能未保存。” – 2012-07-10 13:42:42

回答

0

在上面活动和地点的一些意见被提及为您问题的解决方案。当然这是一个很好的和现代的。你会在GWT的文档中找到更多的细节。

但是,如果你不想走这条路,另一个解决方案是使用由GWT提供的历史机制。你申请的每个“页面”(而不是部分)都应该有一个特定的标记。您只需创建一个History更改处理程序,并根据用户重新加载操作传递的令牌来呈现适当的对象。如果你想在用户注销(但不是浏览器重启)之间有一些“内存”,你可以将这个令牌保存在本地存储中,并在用户登录后使用它来指引她到达最后一页。

+0

谢谢..最后,我已经与GWTP的地方经理解决方案 – 2012-07-11 12:13:34

+0

谢谢..最后我来了与GWTP的地方经理解决方案。但这里有一件事是如何控制关闭事件。我已经尝试过使用我们的弹出窗口时没有被控制的手动操作,即使在取消按钮点击[我有编写代码来控制事件在注释下面的问题]时不指定null [event = null]。 – 2012-07-11 12:20:43