Отображение только части сайта в веб-браузере Android - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу отображать только определенную часть некоторых веб-сайтов в моем Android WebView. Я просмотрел почти все доступные решения онлайн, но не смог добиться того, чего хотел.

Я использовал Jsoup и HTML Cleaner, он отображался правильно, но CSS и JavaScript страницы были потеряны.

Пытался использовать JavaScript в onPageFinished через WebViewClient, по-прежнему ничего.

Например, если я отображаю https://gaana.com, тогда я хочу отобразить только ту часть страницы , которая находится в.

У меня есть код ниже в onPageFinshed, который не работает, пожалуйста, дайте мне знать, если я что-то упустил здесь. `wb.setWebViewClient (new WebViewClient () {

        @Override
        public void onPageFinished(WebView view, String url)
        {
            webView.loadUrl("javascript:(function() { " +
"document.getElementById('Gaana-Home-Top_Ads').style.display='none'; " +

"document.getElementByClassName('breadcrum').style.display='none'; " +

"document.getElementByClassName('activeonscroll').style.display='none'; " +
"document.getElementByClassName('lastend-container').style.display='none'; " 
+

"document.getElementByClassName('mobile_search').style.display='none'; " +
"document.getElementByClassName('mobile-playlist-option').style.display='none'; " +

"document.getElementByClassName('bodyloader').style.display='none'; " +
"document.getElementById('mp').style.display='none'; " +
"document.getElementByClassName('Gaana_ROS_ATF_728adunit').
 style.display='none'; " 
 +

"document.getElementById('ads_645x60_pd_high').style.display='none'; " +
"document.getElementById('language-form').style.display='none'; " +


                    "})()");

        }
    });
    webView.loadUrl(URL);` .

Любая помощь будет оценена. Спасибо.

1 Ответ

0 голосов
/ 15 ноября 2018

Вы пробуете правило @media? (изменить размер экрана для просмотра примера)

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
    background-color: yellow;
}

@media only screen and (max-width: 600px) {
    body {
        background-color: lightblue;
    }
}
</style>
</head>
<body>

<h1>The @media Rule</h1>

<p>Resize the browser window. When the width of this document is 600 pixels or less, the background-color is "lightblue", otherwise it is "yellow".</p>

</body>
</html>

с этим правилом вы можете получить его, когда приложение работает на смартфоне, возможно, оно будет для вас, если доступ с веб-просмотром всегда будет осуществляться с мобильных телефонов.

Подробнее о https://www.w3schools.com/cssref/css3_pr_mediaquery.asp

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