(转)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。
?
?
轉載于:https://www.cnblogs.com/royi123/archive/2013/03/20/2970526.html
總結
以上是生活随笔為你收集整理的(转)android WebView loadData不能解析(找不到网页)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到房子阳台塌了什么意思
- 下一篇: php 的命名空间 看鸟哥后的随笔