Получить значение из элемента DIV - PullRequest
3 голосов
/ 29 марта 2019

Я хочу передать значение элемента HTML в приложение Android.Я

Я попытался получить значение, используя код ниже:

document.getElementById(\"summary\").value --> giving null value
document.getElementById(\"summary\").innerHtml --> giving null value
document.getElementById(\"summary\").textContent --> giving null value 

Я пытаюсь реализовать JavaScript MutationObserver.Поэтому, когда есть изменения в содержимом, я могу сразу передать значение в Java-код Android.

Кто-нибудь может мне помочь?

Я использовал следующий код:

    myWebView = (WebView)this.findViewById(R.id.myWebView);
    myWebView.getSettings().setJavaScriptEnabled(true);


     myWebView.loadUrl("https://helloworld.com/details");

    myWebView.addJavascriptInterface(new JavaScriptInterface(this, myWebView), "MyHandler");
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        myWebView.setWebContentsDebuggingEnabled(true);
    }

    myWebView.evaluateJavascript("(function(){return document.getElementById(\"summary\").textContent})();",
            new ValueCallback<String>() {
                @Override
                public void onReceiveValue(String html) {
                   Log.e("HTML Content",html);
                }
            });

Это мой HTML-код:

 <div class="well" id="summary" *ngIf="viewModel != null">
    <div class="SuccessSummary">{{viewModel.successSummary}}</div>
 </div>

1 Ответ

1 голос
/ 29 марта 2019

Попробуйте это

myWebView.evaluateJavascript("(function(){return 
document.getElementById('summary').innerHTML})();",
        new ValueCallback<String>() {
            @Override
            public void onReceiveValue(String html) {
               Log.e("HTML Content",html);
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...