1

私は次のコードを持っています:

public static void show(String value){
   Window.alert("From Java");
   invokeMethod(); //Does not get called
}  

public static native void invokeMethod() /*-{ 
    alert("From JSNI");
}-*/; 

JavaメソッドからJSNIメソッドを呼び出したいのですが、呼び出さinvokeMethod()れません...JavaからJSNIメソッドを呼び出すためのユースケースがあまり見つかりませんでした。

上記のコードが機能しないのはなぜですか?

4

1 に答える 1

1

まず、Colin Alworthが言ったように、コードを$ wnd.alert( "From JSNI");に変更する必要があります。alert()とは別に別のJS関数を呼び出したい場合は、関数の本体をhtmlページに記述する必要があります。ここに必要なすべての情報があります

したがって、コードは次のようになります。

public static void show(String value){
   Window.alert("From Java");
   invokeMethod(); 
}  

public static native void invokeMethod() /*-{ 
    $wnd.alert("From JSNI"); //Added "$wnd."
}-*/; 
于 2012-05-31T09:52:21.790 に答える