如何获取gwt中弹出窗口的句柄?

时间:2011-09-28 18:55:43

标签: javascript gwt

您可以告诉我如何在gwt中执行以下操作吗?

test(){
  var win =
    window.open("http://www.stackoverflow.com",
                "mywindow",
                "location=1,status=1,scrollbars=1,width=100,height=100");
  win.location = "http://www.yahoo.com";
}

2 个答案:

答案 0 :(得分:0)

好的,再试一次。

在我的脑海中,使用PopupPanel或该Widget的某些子类。然后你有一个“句柄”。在面板中插入Frame小部件,并将Frame的URL设置为所需的外部站点。使用PopupPanel类提供的方法处理大小调整和其他方面。

http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/client/ui/PopupPanel.html

http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/client/ui/Frame.html

答案 1 :(得分:0)

您可以通过创建overlay type

来获取和操纵window句柄
public class MyWindow extends JavaScriptObject {
  protected MyWindow() {
  }

  public static native MyWindow open(String url, String name) /*-{
    return $wnd.open(url, name);
  }-*/;

  public static native MyWindow open(String url, String name, String options) /*-{
    return $wnd.open(url, name, options);
  }-*/;

  public native void setHref(String href) /*-{
    if (this.location) {
      this.location.href = href;
    }
  }-*/;
}

请注意,一旦窗口原点发生变化,您将无法再操作窗口。