我想知道如何從載入gwt模塊的iframe的父級調用GWT靜態方法。從iframe的父級調用gwt靜態方法
舉一個簡單的例子假設我有以下GWT類:
public class Simple {
public static void showWindow() {
Window.alert("Hello from the iframe");
}
}
我創建了一個名爲「iFrameHost.html」的HTML主頁,可以運行上面的功能。然後在不同的頁面上的無關GWT模塊我打電話:
Frame iFrame = new Frame("iFrameHost.html");
RootPanel.get().add(iFrame);
如何我現在請從父頁面的showWindow()
方法?
public static final native void setWindowFunction() /*-{
$wnd.myFunction = [email protected]::showWindow();
}-*/;
在iframe
,無論是在本地JavaScript方法或純JavaScript:
感謝您的回覆。這很接近,但不完全是我想要做的。我想從父頁面調用iFrame的方法,而不是來自iFrame的父頁面方法。我已經更新了我的問題,以顯示我如何嘗試使用您的代碼,但不幸的是,我在JavaScript中很弱,無法使其工作。 – 2011-01-13 14:36:54
好吧,我已經調整了你的答案。 如果你想從父頁面調用函數給iframe一個id,然後調用: $ doc.getElementById(「iFrameID」)。contentWindow.myFunction(); – 2011-01-13 17:08:38