Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们如何在GWT中使用onbeforunload_Java_Javascript_Gwt_Jsni - Fatal编程技术网

Java 我们如何在GWT中使用onbeforunload

Java 我们如何在GWT中使用onbeforunload,java,javascript,gwt,jsni,Java,Javascript,Gwt,Jsni,我正在创建一个函数,当用户重新加载页面或按back space或按浏览器的back按钮时,该函数将阻止用户。我尝试以下代码 $wnd.beforeunload=function() { return "hello"; } 它只使用java脚本,而不使用jsni。我也用过 Window.addWindowClosingHandler(new ClosingHandler() { @Override public void onWindowClosing(Closing

我正在创建一个函数,当用户重新加载页面或按back space或按浏览器的back按钮时,该函数将阻止用户。我尝试以下代码

$wnd.beforeunload=function()
 {
    return "hello";
 }
它只使用java脚本,而不使用jsni。我也用过

Window.addWindowClosingHandler(new ClosingHandler()
{
    @Override
    public void onWindowClosing(ClosingEvent event)
    {
        event.setMessage("Are you sure?");
    }
});

这适用于页面引用和关闭,但不适用于浏览器的后退按钮和退格…请参阅帮助

我已经在相同的上下文中发布了一个答案

请查看完整的代码和截图

尝试任何选项:

  • History.addValueChangeHandler
  • WindowClosingHandler
  • Event.addNativePreviewHandler
  • $wnd.onbeforeunload

Braj我尝试了这个,但它在浏览器的后退按钮上不起作用。是否有任何可能的方法可以像关闭处理程序一样提示用户返回按钮?onkeydown在FF和chrome中都可以工作,但在FF event.cancle中不能working@user3364549谢谢。我刚刚修改了我的帖子。请看一看。我仍在使用浏览器的“后退”按钮。我会带一些解决方案回来。@user3364549再次感谢您的帮助。onunload负责在页面关闭时执行指令。这也会引起IE和AJAX的问题。onbeforeunload效率更高,因为它不会与窗口的实际关闭相竞争,并且在onunload之前触发。我知道Opera过去不确认onbeforeunload-不确定他们是否已修复该问题,但为了安全起见,我始终注册侦听器: