【发布时间】:2011-06-21 19:50:14
【问题描述】:
我编写了一段 Java 代码,旨在通过 android WebView 网关从 Javascript 调用 Java 代码。
webView = (WebView) findViewById(R.id.captchaView);
WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true);
webView.loadUrl("https://google.com/");
webView.setWebViewClient(BrowserHandler);
webView.addJavascriptInterface(new IJavascriptHandler(), "cpjs");
WebViewClient BrowserHandler = new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:window.cpjs.onPageLoaded(document.body.innerHTML);void(0);");
}
};
final class IJavascriptHandler {
IJavascriptHandler() {
}
public void onPageLoaded(String html) {
// this is called from JS
Toast t = Toast.makeText(getApplicationContext(), "Yes", 2000);
t.show();
}
}
上面的代码检查网页加载,一旦页面加载完成,它将调用从 Java 公开的 javascript 函数,以便它可以从页面中携带我需要的内容。
这并没有按预期工作,它只是每隔几秒刷新一次页面。我不确定这里有什么问题?
【问题讨论】:
-
请把更新后的代码发给我。提前致谢
标签: java javascript android webview