Как вызвать переменную из Java внутри JS в WebView

Я автоматически заполняю поле с именем пользователя в веб-приложении. Но мне нужно заполнить пробелы wariable, который определен в коде Java, вот мой код. Я хочу использовать переменную в моем коде Java вместо "PASS" и "NAME"

JavaScript:

document.getElementById('horde_user').value='NAME'" +"javascript:document.getElementById('horde_pass').value='PASS'"

Джава:

final String js =  "javascript:document.getElementById('horde_user').value='NAME'" +"javascript:document.getElementById('horde_pass').value='PASS'"+"javascript:documentgetElementsByName('login_button')[0].click()";
webview.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url){
        if(Build.VERSION.SDK_INT >= 19){
            view.evaluateJavascript(js, new ValueCallback<String>() {
                @Override
                public void onReceiveValue(String s) {
                }
            });
        }
    }
});

Всего 1 ответ


Я рекомендую вам создать функцию javascript, например:

function login(NAME, PASS)
{
    document.getElementById('horde_user').value=pass;
    document.getElementById('horde_pass').value=id;
    document.getElementsByName('login_button')[0].click();
}

А потом из вашего кода приложения

String id = "myid"; //Get val from the dialog
String pass = "mypass"; //Get val from the dialog
webview.loadUrl("javascript:login('"+NAME+"','"+PASS+"')");

если вам нужно позвонить в java из js, вы можете написать этот пост. Надеюсь, это поможет;)


Есть идеи?

10000