我有一个 webview,它加载了一个 html 文件。
现在我想从 webview 调用 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();}); <<< 不工作)