我正在尝试自动填充WebView
中的字段。网页的页面来源位于:http://pastebin.com/WKbj7XJh
我在WebView
启用了javascript,我的WebViewClient
public void onPageFinished(final WebView view, String url) {
super.onPageFinished(view, url);
String website = "https://www.example.com/oauth_callback";
view.loadUrl("javascript:document.getElementById(\"application_callback_url\").value = '"+website+"';");
}
我没有自动填充字段,而是获得一个空白的WebView,只显示:“https://www.example.com/oauth_callback”
我将此问题用作指南:Fill fields in webview automatically
非常感谢所有帮助。
答案 0 :(得分:3)
当您开始定位API 19及更高版本时,这是WebView.loadUrl
在传递返回值的javascript:
网址时的行为。
您应该更新您的应用,以便在API 19或更高版本上运行时,它使用evaluateJavaScript,并在旧设备上运行时回退到loadUrl。类似的东西:
if (android.os.Build.Version.SDK_INT >= 19) {
webview.evaluateJavaScript("...", null);
} else {
webview.loadUrl("javascript:...");
}
或者,你可以将你的javascript变成一个没有返回值的JS函数,并在所有平台版本上使用loadUrl
。