【问题标题】:removing headers and footers in android webview删除android webview中的页眉和页脚
【发布时间】:2015-04-28 17:06:17
【问题描述】:

我正在尝试在 webview 组件中加载响应式网页。但我想去掉网页的页眉和页脚,只用网页的正文加载 webview。如何在 android webview 中实现这一点。

<div class="header-container">
<header class="header clearfix" ng-include="'/modules/core/homepage/header-partial.html'"></header>
</div>

【问题讨论】:

  • HTML 中的页眉/页脚是什么样的?
  • 我已将标题 div 添加到原始帖子中。用例是我们正在尝试创建一个应用程序,该应用程序将显示现有响应式网站中的一些内容,但只想显示 html 页面的正文并在将其显示在 webview 上之前剥离页眉和页脚

标签: android webview


【解决方案1】:

我能够删除页眉和页脚并使用 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","");

根据开发者文档:

请注意,JavaScript 的同源策略意味着在使用此方法加载的页面中运行的脚本将无法访问使用“数据”以外的任何方案加载的内容,包括“http(s)”。为避免此限制,请将 loadDataWithBaseURL() 与适当的基本 URL 一起使用。

http://developer.android.com/reference/android/webkit/WebView.html#loadData(java.lang.String, java.lang.String, java.lang.String)

【讨论】:

    【解决方案2】:

    如果您想编辑 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() 加载网站,但上述方法不会在不删除页眉和页脚的情况下加载网站事件的内容
    猜你喜欢
    • 2015-10-01
    • 2021-01-29
    • 2012-01-03
    • 1970-01-01
    • 2018-07-06
    • 2011-11-01
    • 1970-01-01
    相关资源
    最近更新 更多