我正在构建一个扩展,它首先获取与 HTTPRequest 关联的窗口,如此处所述。
文档中有一个 div 元素,它有一个来自外部网站的 src。我基本上取消了请求并获得了关联的窗口。
现在说我想用字符串“Hello World”填充该窗口的文档。
在 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 文档的顶级正文。
这里有什么问题?Document 是在这里使用的错误类吗?