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でない場合は機能しません。windowdocumentthis$doc

于 2012-11-28T19:22:12.720 に答える