私は2つのフレーム(com.google.gwt.user.client.ui.Frame)を特徴とするGWTアプリケーションを持っています。 Via Frame.setUrl(...)問題なく任意のWebページを読み込むことができます。もちろん、ユーザーは読み込まれたページのリンクをクリックすることができます。両方のフレームで現在ロードされているページを追跡するにはどうすればよいですか?GWT:フレームの現在のURL
以下は、2種類のリスナーを使用した現在の試みです。コードスニペットがWeb上に見つかりました。どちらのイベントが発火、それでも私は、現在ロードされたURL
import com.google.gwt.event.dom.client.LoadEvent;
import com.google.gwt.event.dom.client.LoadHandler;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.EventListener;
import com.google.gwt.user.client.ui.Frame;
public class BrowserTabFrame extends Frame implements EventListener {
public BrowserTabFrame() {
super();
sinkEvents(Event.ONLOAD);
addLoadHandler(new LoadHandler() {
@Override
public void onLoad(LoadEvent event) {
System.out.println(event.getSource());
// <iframe style="visibility: visible;" id="ext-gen17" src="http://..." class="gwt-Frame"></iframe>
// however, the src attribute never changes
}
});
}
@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
if (DOM.eventGetType(event) == Event.ONLOAD)
System.out.println(event.getCurrentEventTarget());
// [object HTMLIFrameElement]
// no idea what to do with it
}
}
任意のヒントについて
感謝を取得する方法がわかりません!
クリスチャン
こんにちは、ジェイソン!お返事をありがとうございます!これはまさに私が探していた情報でした。そして、私はこのセキュリティ上の問題にぶつかります。 GWTアプリケーション内で最小限のWebブラウザ機能を実現するための代替/ベストプラクティスのテクニックはありますか?基本的に十分なIFrame内でクリックされたリンクを把握できれば再度、感謝します! Christian – Christian
いいえ、Javascriptだけを使用してこの制限を回避する方法はありません。 –