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