0

私のアプリケーションでは、iframe 内に GWT モジュールを含めました。

GWT モジュールにあるボタンをクリックすると、アプリケーションの一部である新しい URL のみが割り当てられます。新しい URL の内容は同じウィンドウ内にあります。

Hyperlink eventStatusLink = new Hyperlink(moveToMainApplication, "");

    eventStatusLink.addClickHandler(new ClickHandler() 
    {
        @Override
        public void onClick(ClickEvent event) {
            String eventStatusUrl = "/company/MainAppServlet?action=Launch&ID="+ IDFromGWT";
            // info("eventStatusUrl:"+eventStatusUrl);
            Window.Location.assign(eventStatusUrl);
        //Also called native method ::$wnd.location.href = url; not useful for me

        }
    });

メイン アプリケーションにリダイレクトできますが、ユーザーがメイン アプリケーションで F5/Refresh キーを押すと、ページが GWT アプリケーションにリダイレクトされます。

Window.Location.assign/replace がブラウザのメイン アプリケーションの URL を置き換えないのはなぜですか?

GWT を使用してこれを行う方法はありますか?

私のmainApplicationで、ユーザーはf5/refreshキーを押すことができます

メイン アプリケーションから gwt アプリケーションへのリダイレクトを回避するにはどうすればよいですか?

4

2 に答える 2

0

それはあなたが探しているものですか?

Window.Openターゲットを使用して設定することにより、同じウィンドウで目的のURLを開くことができます_self

com.google.gwt.user.client.Window.open(url, "_self",
           "param1=value," + 
           "param2=value");
}

上記のコードがヒントになることを願っています。

そしてGWT PlaceManagerも見てください

于 2013-02-10T12:33:03.160 に答える
0

これは私にとってはうまくいきます:)

Hyperlink eventStatusLink = new Hyperlink(moveToMainApplication, "");

    eventStatusLink.addClickHandler(new ClickHandler() 
    {
        @Override
        public void onClick(ClickEvent event) {
            String eventStatusUrl = "/company/MainAppServlet?action=Launch&ID="+ IDFromGWT";
            // info("eventStatusUrl:"+eventStatusUrl);
            //Window.Location.assign(eventStatusUrl);
          redirectToOtherModule(eventStatusUrl);

        }
    });

ネイティブメソッドは次のとおりです。

 public static native String redirectToOtherModule(String url) /*-{
         return $wnd.redirectToOtherModule(url);
        }-*/;

//MyGWTModule.html

function redirectToOtherModule(url){
                window.top.location.href = url;
            }
于 2013-02-22T07:52:45.577 に答える