zoukankan      html  css  js  c++  java
  • (转)android WebView loadData不能解析(找不到网页)

    public void  loadData  (String data, String mimeType, String encoding)

    loadData()中的html data中不能包含'#', '%', '\', '?'四中特殊字符,出现这种字符就会出现解析错误,显示找不到网页还有部分html代码。因为css中经常用'#', '%'等字符,所以大部分网页会出现解析错误,需要如何处理呢?我们需要用UrlEncoder编码为%23, %25, %27, %3f 。

    webView.loadData(URLEncoder.encode(data, "utf-8"), "text/html",  "utf-8");这样写之后会发现错误没有了,但是显示效果不好,一些背景颜色排版效果都没有了。

    推荐使用loadDataWithBaseURL():public void  loadDataWithBaseURL  (String baseUrl, String data, String mimeType, String encoding, String historyUrl)

    只是多了两个参数,我们可以这样使用webView.loadDataWithBaseURL(null,data, "text/html",  "utf-8", null);这样html代码就会完美解析了。

    注意,访问网络要在配置文件中加上权限webView.getSettings().setJavaScriptEnabled(true);  让WebView 支持JavaScript。

  • 相关阅读:
    c语言之数据类型
    C语言之概述
    012.day12
    011.day011
    010.day010
    010.day08
    010.周六自习
    009.day07
    008.day06
    007.day05
  • 原文地址:https://www.cnblogs.com/chenbin7/p/2605496.html
Copyright © 2011-2022 走看看