【发布时间】:2013-01-24 11:16:44
【问题描述】:
我花了很长时间编码和搜索这个网站和其他网站,但没有成功。我有一个调用 JSNI 的 GWT 应用程序,然后调用一个 Applet 来执行一些文件加载。所以我需要在文件加载完成后被回调。尽我所能,我无法调用我的 JavaScript(或 Java)回调。通常你引用 $wnd 变量是这样的:
$wnd.myFunc()
如果我尝试这个(或我认为可能有用的大量其他变体),它会默默地失败。我什至不能称之为简单的东西:
$wnd.alert("Made it")
我试过使用window.eval("$wnd.myFunc()");
我也尝试过window.call,结果相同。
我猜我在错误的上下文中(GWT 将所有内容都放在一个 IFrame 中),但我找不到任何选项来访问 GWT 应该放置 "$wnd" 变量的全局上下文。
出于安全原因,IFrame 应该受到一些限制,我想知道我是否遇到了故意禁用的东西。
无论如何,我有很多猜测,但我对 JavaScript 的了解有限,所以也许我忽略了一些简单的事情。
【问题讨论】:
-
小程序是如何/在哪里加载的?以及它是如何回调到 JS 中的?
-
下面的代码修改页面插入小程序: String appletDivHTML = "" + ""; com.google.gwt.user.client.Element div = DOM.createDiv(); div.setInnerHTML(appletDivHTML); BodyElement body = Document.get().getBody(); body.appendChild(div);
-
忽略,我不能删除这个...
标签: javascript gwt applet jsni