哪个类等同于GWT中Javascript的对象window.document?

时间:2012-06-04 13:49:38

标签: java javascript gwt firefox-addon

我正在构建一个扩展,它首先获得与HTTPRequest关联的窗口,如here所述。

文档中有一个div元素,它有一个来自外部网站的src。我基本上取消了请求并获得了相关的窗口 现在说我想用字符串“Hello World”填充该窗口的doc。

在JavaScript(JSNI)中使用以下代码(即,它替换通常来自外部源的数据的字符串):

window.document.write("Hello World");

但我真的需要在Java而不是通过JSNI这样做。

我尝试使用类Document将来自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文档的顶级正文。

这是什么问题?文档是在这里使用的错误类吗?

1 个答案:

答案 0 :(得分:0)

您的代码没有问题:

window.document捐赠Document

doc.getBody()将成为文件的完整正文。

doc.getBody().setInnerHTML("");将重新制作完整的内容并将正文设置为新值。

我认为您正在寻找appendChild

DOM.appentChild(doc.getBody(), new HTML('Hello World!').getElement());