[英]javascript android doesnt work
I'm working on binding javascript and android. 我正在绑定javascript和android。
The web view 网络视图
visor.addJavascriptInterface(new WebAppInterface(this), "Android");
visor.setWebViewClient(new WebViewClient());
My Web Interface: 我的网络界面:
public class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast+" cosas", Toast.LENGTH_SHORT).show();
visor.loadUrl("www.google.com");
}
}
HTML load for android Android的HTML加载
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
The execution works for toast but load url doesn't work. 该执行适用于Toast,但加载URL不起作用。 What am I doing wrong?
我究竟做错了什么?
If a URL has to be loaded after its first execution, it has to be loaded from a different thread like this: 如果必须在首次执行后加载URL,则必须从另一个线程中加载,如下所示:
mWebView.post(new Runnable() {
@Override
public void run() {
mWebView.loadUrl("http://google.com");
}
});
And so in your case: 因此,在您的情况下:
public class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast+" cosas", Toast.LENGTH_SHORT).show();
visor.post(new Runnable() {
@Override
public void run() {
visor.loadUrl("http://google.com");
}
});
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.