)android WebView loadData不能解析(找不到網頁)

來源:互聯網
上載者:User

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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.