Как вызвать переменную из java внутри js в веб-просмотре - PullRequest
0 голосов
/ 10 февраля 2020

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

javascript:

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

java:

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 Ответ

1 голос
/ 10 февраля 2020

Я рекомендую вам создать 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 Вы можете следовать этому сообщению Надеюсь, это поможет;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...