0
我正在構建一個擴展,它首先獲得與HTTPRequest相關聯的窗口,如解釋here所述。哪個類相當於GWT中的Javascript對象window.document?
文檔中有一個div元素,它具有來自外部網站的src。我基本上取消了請求並獲得了關聯的窗口。
現在說我想用字符串「Hello World」填充該窗口的文檔。
使用以下在JavaScript(JSNI)的作品(即,它會替換而正常情況下,從外部源中的數據將是字符串):
window.document.write("Hello World");
但我真的需要做的是在Java中,而不是通過JSNI。
我使用類文件通過從JSNI使呼叫作爲對象嘗試:該方法被定義爲
@[package].[class]::populateBox(Lcom/google/gwt/dom/client/Document)(window.document);
:
public static void populateBox(Document doc){
doc.getBody().setInnerHTML("Hello World);
}
該代碼,而不是在DIV替換文本請求被加載的位置將替換html文檔的頂級主體。
這裏有什麼問題?文檔是否在這裏使用了錯誤的類?
的HTML類是一個小部件,而不是元素,所以不能直接追加。 JSNI代碼也可以寫成'$ doc.innerHTML =「Hello World」'。但是添加一個小部件可以更好地表達爲'RootPanel.get()。add(new HTML(「Hello world」))''。 –