Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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 浏览器窗口关闭后如何获得通知?_Java_Javascript_Gwt - Fatal编程技术网

Java 浏览器窗口关闭后如何获得通知?

Java 浏览器窗口关闭后如何获得通知?,java,javascript,gwt,Java,Javascript,Gwt,在window的帮助下,我正在gwt小部件中打开一个新窗口;一旦新窗口打开,我正在做一些编辑操作。 我想在用户关闭新打开的窗口后,在gwt小部件中执行一些代码。这里(在gwt小部件中)如何知道窗口是否关闭? 我想我们有一些窗口事件,但我不知道如何使用它们 读了这篇文章后: 这可能是将mesage发送到另一个浏览器窗口的一种可能性 不能使用GWT,因为Window.open()不返回对已打开窗口的引用 private static native BodyElement getNewWindowR

在window的帮助下,我正在gwt小部件中打开一个新窗口;一旦新窗口打开,我正在做一些编辑操作。 我想在用户关闭新打开的窗口后,在gwt小部件中执行一些代码。这里(在gwt小部件中)如何知道窗口是否关闭?
我想我们有一些窗口事件,但我不知道如何使用它们

读了这篇文章后:


这可能是将mesage发送到另一个浏览器窗口的一种可能性

不能使用GWT,因为
Window.open()
不返回对已打开窗口的引用

private static native BodyElement getNewWindowRef(String url) /*-{
    var childWindow = window.open(url, "_blank", "height=800px width=300px location=no");
    return childWindow;
}-*/;
您最好尝试并使用本机函数。不能保证它会起作用。关于同一问题

以下是
Window.open()
默认情况下的功能:

public静态本机void open(字符串url、字符串名称、字符串功能)/*-{
$wnd.open(url、名称、功能);
}-*/;

我知道了如何在子窗口关闭时收到通知。在gwt中,我们可以使用JSNI来实现这一点。
下面的方法是获取新打开窗口的引用的jsni

private static native BodyElement getNewWindowRef(String url) /*-{
    var childWindow = window.open(url, "_blank", "height=800px width=300px location=no");
    return childWindow;
}-*/;
为了判断窗口是否关闭,我们可以使用下面的jsni代码,传递从上面接收的变量

private static native boolean getNewWindowStatus(BodyElement childWin) /*-{
    var ret = false;

    if (childWin.closed) {
       ret = true;
    } 

    return ret;
}-*/;

感谢您的回复,但我需要在关闭窗口后在gwt小部件中得到通知。是的,我在gwt文档中看到了这些窗口处理程序,我不知道在我关闭窗口后如何执行将放入gwt小部件中的上述代码。我们可以通过在gwt中使用JSNI来实现这一点