我想加載一個webview組件中的響應網頁。但是我想去掉網頁的頁眉和頁腳,並且只加載網頁視圖的正文。如何在android webview中實現這一點。刪除android webview中的頁眉和頁腳
<div class="header-container">
<header class="header clearfix" ng-include="'/modules/core/homepage/header-partial.html'"></header>
</div>
我想加載一個webview組件中的響應網頁。但是我想去掉網頁的頁眉和頁腳,並且只加載網頁視圖的正文。如何在android webview中實現這一點。刪除android webview中的頁眉和頁腳
<div class="header-container">
<header class="header clearfix" ng-include="'/modules/core/homepage/header-partial.html'"></header>
</div>
我能夠除去頁眉和頁腳並加載使用loadDataWithBaseURL網頁()方法
Document document = Jsoup.connect(mUrl).get();
document.getElementsByClass("header-container").remove();
document.getElementsByClass("footer").remove();
WebSettings ws = mWebView.getSettings();
ws.setJavaScriptEnabled(true);
//mWebView.loadData(document.toString(),"text/html","utf-8");
mWebView.loadDataWithBaseURL(mUrl,document.toString(),"text/html","utf-8","");
作爲每顯影劑docs:
請注意,JavaScript的同源策略意味着使用此方法加載的頁面中運行的腳本將無法訪問使用'data'之外的任何方案加載的內容,包括'http(s)'。爲了避免這種限制,請使用loadDataWithBaseURL()和適當的基本URL。
http://developer.android.com/reference/android/webkit/WebView.html#loadData(java.lang.String,java.lang.String中,java.lang.String中)
如果你想編輯html,我建議使用像jsoup這樣的html解析器。它們除去的頁眉和頁腳,最後將數據加載到一個WebView
try {
// Load the html into jsoup
Document doc = Jsoup.connect("http://your-site.com/").get();
// find and remove header
Element header = doc.getElementById("your-header");
header.remove();
// find and remove footer
Element footer = doc.getElementById("your-footer");
footer.remove();
// Load data into a WebView
WebView wv = (WebView) findViewById(R.id.webView);
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
wv.loadData(doc.toString(), "text/html", "utf-8");
} catch (IOException e) {
e.printStackTrace();
}
這正是我之前嘗試過的。我能夠使用webview.loadUrl()加載網站,但上述方法不會加載網站事件的內容而不刪除頁眉和頁腳 – 3xplore
什麼頁眉/頁腳樣子的HTML? –
我已將標題div添加到原始帖子。用例是我們正在試圖創建一個應用程序,它將顯示一些現有的響應網站的內容,但只想顯示HTML頁面的主體,並去除頁眉和頁腳,然後在webview上顯示它 – 3xplore