我有一个我在GWT中创建的HiddenIframe,它从帖子中获得响应。 OnBrowsewerevent()我试图反省Iframe的内容以获取错误代码或成功。
当我通过GWT访问Iframe时,我可以访问它,但innerHTML方法始终为null
我写了一个JSNI方法
private native String getMessage()/*-{
var e = document.getElementById('my_iframe');
var html = e.contentWindow.document.body.innerHTML;
return html
}-*/;
我总是把e作为null,因为GetelementbyID返回null,当我内省HTML使用firebug时,我可以看到带有ID的Iframe。解决问题的最佳方法是什么?
答案 0 :(得分:2)
您需要使用特定于GWT的$doc
变量,而不是document
。来自GWT JSNI documentation:
当从JSNI访问浏览器的窗口和文档对象时,必须分别将它们引用为$ wnd和$ doc。您编译的脚本在嵌套框架中运行,$ wnd和$ doc会自动初始化,以正确引用主页的窗口和文档。