繁体   English   中英

选择另一个输入时输入值消失 - android webView JavaScript 注入

[英]Input values disappearing when selecting another input - android webView JavaScript injection

我正在创建一些代码来保存来自任何网站的表单数据,并在用户请求时填写它。

我正在使用 java 和 webView 加载 web 页面并注入 Z686155AF75A60A0F6EZD8 执行操作。

一切都按预期工作,但在某些网页中,在填写完输入后,选择另一个输入字段时数据会消失。

private void injectScriptInputValue(){
    //Current web address
    String address = myWebView.getUrl();
    ArrayList<PayInputs> payInputs = new ArrayList<>();

    //Check for data which matches the current web address.
    for (int i = 0; i < payPages.size(); i++) {
        //Stored web address.
        String payPageAddy = payPages.get(i).getAddress();

        if (payPageAddy.compareTo(address) == 0) {
            payInputs = payPages.get(i).getPayInputs();
            break;
        }
    }

    StringBuilder javaScriptInputs = new StringBuilder();

    //Loop through the saved inputs and create javaScript code.
    for (int i = 0; i < payInputs.size(); i++) {
        String id = payInputs.get(i).getId();
        String value = payInputs.get(i).getValue();

        //javaScriptInputs.append("document.getElementById('").append(id).append("').focus()").append(";");
        //javaScriptInputs.append("document.getElementById('").append(id).append("').select()").append(";");
        javaScriptInputs.append("document.getElementById('").append(id).append("').value = '").append(value).append("';");

    }

    StringBuilder sb = new StringBuilder();

    sb.append("(function()");
    sb.append("{");
    sb.append(javaScriptInputs);
    sb.append("}");
    sb.append(")");
    sb.append("()");

    myWebView.loadUrl("javascript:" + sb.toString());
}

网站上是否有可能导致此问题的原因,有没有办法解决此问题? 检查数据的输入是否以某种方式格式化并且可以覆盖吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM