使用javascript在WebView中自动填充字段失败

时间:2014-06-22 21:04:46

标签: android webview autofill

我正在尝试自动填充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

非常感谢所有帮助。

1 个答案:

答案 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