0

我在我的项目中添加了另一个 JS 文件:test.js

我有代码test.js

var testObj = {
  hello : function(){
    alert("hello world");
  }
}

我将此行添加到项目的主 HTML 文件中:

该脚本与 HTML 文件位于同一文件夹下。

在 Java 代码中,我通过以下方式调用此函数:

public static native void helloWorld()/*-{
    testObj.hello();
}-*/;

但是当我运行它时,它告诉我testObj is undefined。但是在浏览器控制台中,当我这样做时:testObj.hello()并且它正在工作(因此加载了 JS 文件)。

我怎样才能让它工作?

4

1 回答 1

0

自己解决了。

将调用更改为:

public static native void helloWorld()/*-{
    $wnd.testObj.hello();
}-*/;

$wnd必须是$wnd, window, document,this否则$doc将不起作用。

于 2012-11-28T19:22:12.720 回答