如何在 Android 中显示到 webview 之前清除 html 页面?
How to clear html page before showing into a webview in Android?
我有一个 URL 网页要显示在我的 Android 应用程序的网络视图中。在显示此页面之前,我想从某些标记(例如 header、页脚、ecc..)中清除此页面的 html 代码,以便仅显示少量信息。我该怎么做?我试图解决使用 JSoup 的问题,但我不明白如何创建 "new page" 并将其传递给 webview。有谁body可以帮我吗?
编辑
我通过 jsoup 库清除了无用的 html 代码。然后,总是通过这些,我得到 head 和 body 内容,最后我通过这些行显示 "cleared" 网页:
headURL = doc.select("head").outerHtml();
bodyURL = doc.select("body").outerHtml();
webview.loadData( "<html>"+headURL+bodyURL+"</html>" , "text/html", "charset=UTF-8");
webview.setWebViewClient(new DisPlayWebPageActivityClient());
视图显示新页面但不加载头部指定的 css 文件(未被触及)。谁能告诉我为什么?
您可以获取要显示为字符串的网页,解析并删除您不需要的任何内容,然后将此字符串作为数据加载到您的 web 视图中。
类似于:
String webContent = fetchPage(url);
String cleanedWebContent = cleanUp(webContent);
webView.loadData(cleanedWebContent, "text/html", "UTF-8");
当然,您需要实施 fetchPage
和 cleanUp
,因为它们不是 Android 方法
我有一个 URL 网页要显示在我的 Android 应用程序的网络视图中。在显示此页面之前,我想从某些标记(例如 header、页脚、ecc..)中清除此页面的 html 代码,以便仅显示少量信息。我该怎么做?我试图解决使用 JSoup 的问题,但我不明白如何创建 "new page" 并将其传递给 webview。有谁body可以帮我吗?
编辑
我通过 jsoup 库清除了无用的 html 代码。然后,总是通过这些,我得到 head 和 body 内容,最后我通过这些行显示 "cleared" 网页:
headURL = doc.select("head").outerHtml();
bodyURL = doc.select("body").outerHtml();
webview.loadData( "<html>"+headURL+bodyURL+"</html>" , "text/html", "charset=UTF-8");
webview.setWebViewClient(new DisPlayWebPageActivityClient());
视图显示新页面但不加载头部指定的 css 文件(未被触及)。谁能告诉我为什么?
您可以获取要显示为字符串的网页,解析并删除您不需要的任何内容,然后将此字符串作为数据加载到您的 web 视图中。
类似于:
String webContent = fetchPage(url);
String cleanedWebContent = cleanUp(webContent);
webView.loadData(cleanedWebContent, "text/html", "UTF-8");
当然,您需要实施 fetchPage
和 cleanUp
,因为它们不是 Android 方法