두 프레임 (com.google.gwt.user.client.ui.Frame)이있는 GWT 응용 프로그램이 있습니다. Via Frame.setUrl (...) 문제없이 임의의 웹 페이지를로드 할 수 있습니다. 물론 사용자가로드 된 페이지의 링크를 클릭하면 해당 페이지가로드됩니다. 두 프레임의 현재로드 된 페이지를 어떻게 추적합니까?GWT : 프레임의 현재 URL
다음은 두 가지 유형의 리스너를 사용하는 현재 시도입니다. 웹에서 코드 스 니펫을 발견했습니다. 두 이벤트 모두 발생하지만 여전히로드 된 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 응용 프로그램 내에서 최소한의 웹 브라우저 기능을 구현하기위한 대안/최선의 기술이 있습니까? IFrame에서 클릭 한 링크를 추적하면 기본적으로 충분할 것입니다. 고마워, 또! Christian – Christian
아니요, Javascript 만 사용하면이 제한을 피할 방법이 없습니다. –