【问题标题】:Android WebView: loading a local HTML file ignoring its bodyAndroid WebView:加载本地 HTML 文件忽略其正文
【发布时间】:2012-03-29 09:53:00
【问题描述】:

我想知道是否可以将本地 HTML 文件加载到 WebView 中,加载除正文 innerHTML 之外的所有内容。也就是说,生成的 DOM 将包含 head、scripts 和 CSS,但 body 将为空。我尝试在 loadUrl 调用后清空正文,但 WebViews 继续加载正文。我希望完全不加载 body 以加快加载速度,即 WebView 不必进行渲染。

【问题讨论】:

    标签: android html webview loading


    【解决方案1】:

    为什么不试试这个有点麻烦:

    String html = loadHtmlFromFile();
    String newHtml = html.replaceFirst("<body>.*<\body>", "<body><\body>");
    

    这将仅用正文标签替换正文。

    然后将 newHtml 保存为 html 文件并打开该文件,或者,如果可能,将 HTML 直接传递给 WebView(虽然我不确定你是否可以这样做)

    您还必须编写 loadHtmlFromFile() 方法来为您获取 HTML。

    【讨论】:

    • 你的技巧很有用(我知道),但它没有考虑到在编写 body outerHTML 时可能存在的差异,例如 或 或 等等
    • 是的。如果您想解决这个问题,您可以尝试使用 XML 解析器来加载 html,然后删除 body 元素的所有子元素。如果您愿意,我可以发布一个 XML 解析器示例。这假设您正在编写良好的、经过验证的 XHTML
    猜你喜欢
    • 2014-01-19
    • 2014-02-28
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    相关资源
    最近更新 更多