0

以下のGWTのJavaからJavascriptメソッドを呼び出そうとしています。

public void onModuleLoad() {
    jsniAlert("test");
}

private static final native void jsniAlert(String test) /*-{
    $wnd.alert(test);
    $wnd.testJavascript();
}-*/;

HelloJSNI.html(warフォルダーでアプリケーションを開くために使用するメインのhtmlクラス)

<script type="text/javascript" language="javascript"  
    src="hellojsni/hellojsni.nocache.js"></script>

<script type="text/javascript">
    function testJavascript(var input) {
        window.jsniAlert();
        var var1inJS = "Default value";

        alert("Value of Var1 = " + var1inJS);
        var1inJS = input;
        alert("Value of Var1 = " + var1inJS);

        var var2inJS = "Waht is the value of Var2";

        alert("Value of Var2 = " + var2inJS);   
    }

しかし、アプリケーションを実行すると例外が発生します

javascriptexception:object doesn't support property or method 'testjavascript'
4

2 に答える 2

1

関数にエラーがあるtestJavascriptため、関数が読み込まれず、呼び出すことができません。

これを変える:

function testJavascript(var input) {

これに

function testJavascript(input) {  //notice that var keyword is not used to define parameters
于 2012-04-07T16:33:47.710 に答える
0

javascript関数がロードされていません。ブラウザでは、ブラウザがスクリプトタグ間のコードのエラーを検出すると、内部のコードが読み込まれず、予期しない結果が生じる可能性があります。

于 2012-04-07T23:35:24.863 に答える