Webview があり、html ファイルが読み込まれています。
ここで、Web ビューから Javascript 関数 DataInput() を呼び出したいと思います。
これが私のコードです。しかし、コンソールは戻ります
E/Web Console(435): Uncaught ReferenceError: DataInput is not defined:1
理由を知っている人はいますか?ありがとう!
WebView engine = (WebView) (findViewById(R.id.webView1));
engine.setWebViewClient(new WebViewClient());
engine.setWebChromeClient(new WebChromeClient() {
public boolean onConsoleMessage(ConsoleMessage cm) {
Log.d("MyApplication", cm.message() + " -- From line "
+ cm.lineNumber() + " of "
+ cm.sourceId() );
return true;
}
});
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setPluginsEnabled(true);
engine.loadUrl("file:///" + path);
engine.loadUrl("javascript:DataInput()");
私のhtmlファイルには次のコードが含まれています:
<script type="text/javascript">
function DataInput( )
{
$( "video" ).each( function(e){this.play();} );
$( "video" ).bind( "ended", function(e){this.play();});
}
</script>
さらに編集:::::
ボタンを追加し、onclick で JS を呼び出すと、(ちょっと) 機能しました...つまり
public void onClick(View arg0) {
engine.loadUrl("javascript:DataInput()");
}
どうして????その理由がどうしても知りたいのですが……。
PS私は、ビデオが自動再生されたので(ちょっと)うまくいくと言った( $( "video" ).each( function(e){this.play();} ); ため)が、ループしない( $( "video" ) .bind( "終了", function(e){this.play();}); <<< 動作しない)