GWTを使用してJavaScriptObjectから派生したクラスによって作成された 'タブ'を閉じる必要があります。 は、ここでは、コードスニペットです: -GWTのJavaScriptObjectから派生したWindowクラスのWindow.open()で作成されたタブを閉じる
public class MyWindow extends JavaScriptObject {
// All types that extend JavaScriptObject must have a protected,
// no-args constructor.
protected MyWindow() {}
public static native MyWindow open(String url, String target, String options) /*-{
return $wnd.open(url, target, options);
}-*/;
public static final native void close() /*-{
this.close();
}-*/;
public static final native void setUrl(String url) /*-{
if (this.location) {
this.location = url;
}
}-*/;
}
public class MyUsingClass {
// Have to have my own window object derived from JavaScriptObject.
// Cannot use standard Window, because we are in an async callback,
// and browser thinks it's a popup!
MyWindow myWindow = MyWindow.open(null, "_blank", null);
...
@Override
public void registeredCallback(ArrayList<String> params)
{
...
// The URL passed to setUrl, is a call to a servlet that returns a
// response with Content-Disposition set in the header.
// We get a File SaveAs Dialog box displayed, 'owned', I assume, by
// this.myWindow.
myWindow.setUrl(url);
...
}
私が持っている問題で、ダイアログボックスがどのように[と場所/時に押された、しかし、私は理解できないばかり期待通りに動作し、OKまたはキャンセル]ボタンを閉じることです]をクリックして、MyWindow.open()の呼び出しによって作成されたタブを閉じます。 私は、どういうわけか、File SaveAs Dialogを閉じることによって引き起こされるイベントを捕捉する必要があると思います。 ご協力いただければ幸いです。 ありがとう!
はあなたの非常に迅速な応答をありがとう。 MyWindow.open()の代わりにWindow.Location.assign()を使ってみると、必要に応じてすべて動作します! 絶対に美しく、簡単に修正できます...ありがとうございました! – TulseHillian