博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)android WebView loadData不能解析(找不到网页)
阅读量:6251 次
发布时间:2019-06-22

本文共 705 字,大约阅读时间需要 2 分钟。

public void  loadData  ( data,  mimeType,  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  ( baseUrl,  data,  mimeType,  encoding,  historyUrl)

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

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

 

 

 

转载于:https://www.cnblogs.com/royi123/archive/2013/03/20/2970526.html

你可能感兴趣的文章
Pessimistic and optimistic locking
查看>>
基于敏捷的测试交付物通用设计
查看>>
svn变更自动触发jenkins构建工程-简单版
查看>>
BFS --- 素数环
查看>>
for循环每次取出一个字符(不是字节)
查看>>
linux版本选择
查看>>
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
查看>>
Java DynamoDB 增加、删除、修改、查询
查看>>
【转】linux下 postgres的一些操作总结
查看>>
不写for也能选中checkbox!
查看>>
PCIE_DMA:xapp1052学习笔记
查看>>
[原译]接口VS 委托
查看>>
EF 一对一、一对多、多对多配置语句小记
查看>>
cacti
查看>>
Android studio教程:[1] 创建app项目
查看>>
matplotlib图像中文乱码(python3.6)
查看>>
PKUSC2018游记
查看>>
css
查看>>
解决linux 乌班图下使用eclipse创建类和其他各种操作进程卡死的问题的一种可能方法...
查看>>
Java规则引擎及JSR-94[转]
查看>>