0

次のように、javascript で設定された変数 ( apiCall )を読み取る必要があるという要件があります。

<script type="text/javascript">
    var oidValue = "";
    var apiCall = false;

    function firePatientSearch(lastname, firstname, dob, mrn, OID) {
        apiCall = true;
        SUBMIT_PDQ.focus();
        SUBMIT_PDQ.click();
        }
</script>

私のGWTコードから、私はこれを行います:

public native Boolean isAPICall()/*-{
    return $wnd.apiCall;
}-*/;

しかし、答えは常に偽です!JS 関数firePatientSearchを発行した後、 isAPICall()の呼び出しを読みました。それは本当であるべきですか、それとも私はここで何か間違ったことをしていますか?

4

1 に答える 1

2

JSNI メソッドの戻り値として Boolean の代わりに boolean を使用してみてください。

public native boolean isAPICall()/*-{
    return $wnd.apiCall;
}-*/;

Dev Guideによると、プリミティブブール値のみがサポートされています。

編集:未定義 (およびその他の特殊なケース) のチェックは、JSNI コードで行う必要があります。

于 2012-06-30T11:06:26.867 に答える