[英]How to call a function in WebView Javascript from Android Java without delay?
[英]How to call javascript function from java when webview page is different
我正在使用HTML和webview来显示一个android项目。
我有
display.loadUrl("file:///android_asset/index.html");
display.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url)
{
display.loadUrl("javascript:openDialog()");
}
});
这很完美。 但我要调用的javascript函数是在另一个页面(chat.html)。 如何从java调用此页面上的javascript函数?
如果您是网页(chat.html)的所有者,则可以集成调用本机方法的JS函数。 在这个本机方法中,您可以调用target-JS:
chat.html:
function callItNow() {
if (typeof Android != "undefined"){
if (Android.caller!= "undefined") {
Android.caller();
}
}
}
在本机代码中,定义一个类:
class MyJavascriptBridge {
public void caller() {
//now you know you are on the right place (chat.html)
webView.loadUrl("javascript:openDialog()");
}
}
当然,您必须声明桥接到您的webview:
webView.addJavascriptInterface(new MyJavascriptBridge(), "Android");
假设你在javascript中的函数是你好的。
webview.loadUrl("javascript:hello();");
我想那就行了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.