使用WebView加载数据出现找不到网页的问题之解决办法(转)
2012-11-17 12:12
986 查看
在使用webView.loadData(data, "text/html", "utf-8"),出现找不到网页的问题,
检查之后发现data数据是正确的,也有上网的权限,可是就是找不到网页,
后经过查找,找到了解决方法:把
webView.loadData 改为 webView.loadDataWithBaseURL 方法就可以了,
可以这样使用:webView.loadDataWithBaseURL(null,data,
"text/html", "utf-8", null);
原因如下:
loadData()中的html data中不能包含'#', '%', '\', '?'四中特殊字符,出现这种字符就会出现解析错误,
显示找不到网页还有部分html代码。因为css中经常用'#',
'%'等字符,所以大部分网页会出现解析错误,需要如何处理呢?我们需要用UrlEncoder编码为%23, %25, %27, %3f 。
webView.loadData(URLEncoder.encode(data, "utf-8"), "text/html", "utf-8");
这样写之后会发现错误没有了,但是显示效果不好,一些背景颜色排版效果都没有了。
public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String
historyUrl)
推荐使用loadDataWithBaseURL(),只是多了两个参数,我们可以这样使用
webView.loadDataWithBaseURL(null,data, "text/html", "utf-8", null);
这样html代码就会完美解析了。
注意,访问网络要在配置文件中加上权限
webView.getSettings().setJavaScriptEnabled(true);
让WebView 支持JavaScript。
原文:http://www.eoeandroid.com/thread-185654-1-1.html
检查之后发现data数据是正确的,也有上网的权限,可是就是找不到网页,
后经过查找,找到了解决方法:把
webView.loadData 改为 webView.loadDataWithBaseURL 方法就可以了,
可以这样使用:webView.loadDataWithBaseURL(null,data,
"text/html", "utf-8", null);
原因如下:
loadData()中的html data中不能包含'#', '%', '\', '?'四中特殊字符,出现这种字符就会出现解析错误,
显示找不到网页还有部分html代码。因为css中经常用'#',
'%'等字符,所以大部分网页会出现解析错误,需要如何处理呢?我们需要用UrlEncoder编码为%23, %25, %27, %3f 。
webView.loadData(URLEncoder.encode(data, "utf-8"), "text/html", "utf-8");
这样写之后会发现错误没有了,但是显示效果不好,一些背景颜色排版效果都没有了。
public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String
historyUrl)
推荐使用loadDataWithBaseURL(),只是多了两个参数,我们可以这样使用
webView.loadDataWithBaseURL(null,data, "text/html", "utf-8", null);
这样html代码就会完美解析了。
注意,访问网络要在配置文件中加上权限
webView.getSettings().setJavaScriptEnabled(true);
让WebView 支持JavaScript。
原文:http://www.eoeandroid.com/thread-185654-1-1.html
相关文章推荐
- 解决webview加载网页出现白屏的问题
- WebView 使用loadData加载网页乱码之解决办法
- 解决webview加载网页出现白屏的问题
- 解决webview加载网页出现白屏的问题
- Android 4.0 WebView 使用loadData加载网页乱码之解决办法
- Android 4.0 WebView 使用loadData加载网页乱码之解决办法
- Android WebView中使用loadData时出现的乱码问题解决办法
- Android使用webview加载网页,解决上传文件适配3.0、4.0、5.0手机存在的问题。
- Android 5.0中使用webView 加载网页不显示图片问题
- Android webview旋转屏幕导致页面重新加载问题解决办法
- WebView通过URL加载H5界面出现空白的原因与解决办法
- WebView加载网页不显示图片解决办法
- IOS 使用 WKWebView 加载本地的JS和CSS文件出现乱码问题
- 【Android基础】webview加载网页出现("找不到网页net:err_unknown_url_scheme")
- iOS平台 加载webView出现 code = -999 错误分析和解决办法
- 解决adapter中使用ViewHolder出现重复加载的问题
- 解决webview加载网页调用外部浏览器的办法
- android 使用webview加载网页问题
- android h5 js 混合开发解决webview加载白屏,不加载网页的问题(硬件加速网页渲染,优化体验)