JSNI中$ doc.getElementById("id")和document.getElementById("id")之间的区别是什么

Jés*_*ica 7 gwt dom jsni

我正在GWT应用程序中的本机函数中工作,我尝试了这两个方法:document.getElementById("id")返回null但$ doc.getElementById()返回一个有效元素.这种方法之间的区别(概念上)是什么?提前致谢.

Tho*_*yer 7

您的GWT应用程序的代码在(隐藏)iframe中运行,因此document引用iframe的文档(以及windowiframe的浏览上下文).因此,GWT初始化变量$doc$wnd让您轻松引用加载GWT应用程序的"主页" 的文档和浏览上下文(窗口).

请注意,链接器决定如何加载已编译的代码,默认的one(std)和较新的xsiframeiframe,而不推荐使用xs的是在相同的浏览上下文中加载代码(所以$doc == document$wnd == window)