2016-08-31 3 views
-3

Я создаю свое первое приложение, и для его работы требуется показать раздел веб-страницы внутри webview. Веб-страница содержит много добавлений и других нерелевантных вопросов, которые я не хочу показывать в своем приложении.Отображение только части веб-страницы через webview

Например, я взял веб-страницу в качестве примера веб-страницы и попытался не показать тело. Я проверил страницу youtube и нашел «page-container» в качестве идентификатора центральной части веб-страницы.

public class ResultsActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_results); 
    final WebView webview = (WebView)findViewById(R.id.results_webview); 
    webview.getSettings().setDomStorageEnabled(true); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageFinished(WebView view, String url) 
      { 
      webview.loadUrl("javascript:function() { " + 
        "document.getElementById('page-container')[0].style.display='none'; " + 
        "})()"); 
      } 
     }); 
    webview.loadUrl("https://www.youtube.com"); 
} 

Но код javascript внутри функции onPageFinished() не работает. В приложении открывается страница youtube.

ответ

0

Я думаю, вам нужно будет проверить идентификатор вручную, проверив веб-страницу. Как только вы получите это, вы можете использовать jsoup html parser, упомянутый в этой же теме here.

Document doc = Jsoup.connect(URL).get(); 
Elements elementsHtml = doc.getElementById(id); 
for(Element element: elementsHtml) 
{ 
    Log.i("ELEMENTI",URLDecoder.decode(element.text(), HTTP.UTF_8)); 
} 
Смежные вопросы