【发布时间】:2014-08-15 16:54:12
【问题描述】:
我需要将一些 JavaScript 注入到我正在加载到 WebView 的网页中,但是在 onPageFinished 注入它为时已晚,而 onPageStarted 则为时过早。有什么办法可以在这两个事件之间注入它?
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progress.setVisibility(view.GONE);
view.loadUrl("javascript:registerObjectDetailsCallback(" +
"function(details) {" +
"if (details.length == 1) {" +
"window.location.href = 'callback:' + escape(details[0]);" +
"} else if (details.length > 1) {" +
"alert('Error: callback set by registerObjectDetailsCallback was passed multiple selection');" +
"}" +
"}" +
");");
Log.d("onPageFinished: ", "JavaScript registered.");
}
}
【问题讨论】:
-
从安卓注入代码?
-
@DIVA 是的,所以我帖子中的代码将由 android 应用程序运行。
-
我无法理解 loadUrl 的参数?它无效
-
@DIVA 是的,它只是运行了一点 JavaScript。与在浏览器地址栏中输入相同
javascript:alert('hello') -
好的,你能把你的演示项目发给我吗,因为它很小,我可以尝试一下
标签: java javascript android webview