僕が作ったサービス

clanworkz

2014年4月10日木曜日

Uncaught TypeError: Object [object Object] has no method '〜'エラー

久しぶりにやったらwebviewからjsの関数の戻り値を取れなくて、
表題のエラーがでてくる。ずっとごにょごにょやってたんだけど、ググったら一発でしたわ。あれこれ悩むよりまえにググったほうがええな。

stackoverflowにいっぱい記事があった。


sdkのターゲットが17以上の場合は@JavascriptInterfaceアノテーションをつけないとだめらしい。きちんと別ファイルにJavascriptInterface用のクラス作成して、アノテーションを付けて、メソッドはパブリックに指定してやる。
それでいけました。

import android.webkit.JavascriptInterface;

public class CustomJavascriptInterface {
@JavascriptInterface
public void getReturnString(String returnValue) {
Log.d("jsの戻り値 => ", returnValue);
}
}

0 件のコメント:

コメントを投稿