// используя библиотеку Jsoup, моя проблема решится
@SuppressLint("StaticFieldLeak")
private class MyAsynTask extends AsyncTask<Void, Void, Document> {
@Override
protected Document doInBackground(Void... voids) {
Document document = null;
try {
document = Jsoup.connect(url).get();
document.getElementsByTag("header").remove();
document.getElementsByTag("nav").remove();
document.getElementsByTag("footer").remove();
} catch (IOException e) {
e.printStackTrace();
}
return document;
}
@Override
protected void onPostExecute(final Document document) {
super.onPostExecute(document);
webView.loadDataWithBaseURL(url, document.toString(), "text/html", "utf-8", "");
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:var footer = document.getElementById(\"footer\");" +
" footer.parentNode.removeChild(footer);" +
" var header = document.getElementById(\"header\"); " +
"header.parentNode.removeChild(header);");
super.onPageFinished(view, url);
progressBar.setVisibility(View.GONE);
}
});
}
}