【黑馬程序員濟(jì)南中心】webview踩過的坑

1. android中不支持h5中的audio標(biāo)簽

解決方案:

需要播放聲音只能通過video標(biāo)簽來實(shí)現(xiàn)

2.關(guān)于webview的本地存儲

解決方案:

webView.getSettings().setDomStorageEnabled(true);

webView.getSettings().setAppCachePath(Constants.FileCachePath);

webView.getSettings().setAllowFileAccess(true);

webView.getSettings().setAppCacheEnabled(true);

3.第一次進(jìn)入activity時webview正常,第二次進(jìn)入webview顯示空白,顯示的進(jìn)度到不了100

解決方案:

if (Build.VERSION.SDK_INT >= 11) {

? ? webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

}

4.關(guān)于webview加載本地資源和加載網(wǎng)絡(luò)資源同時進(jìn)行時效率降低

解決方案:

在webview加載網(wǎng)頁之前

if(Build.VERSION.SDK_INT >= 19) {

? ? ? ? webView.getSettings().setLoadsImagesAutomatically(true);

} else {

? ? ? ? webView.getSettings().setLoadsImagesAutomatically(false);

}

然后在onpagefinished方法里面做監(jiān)聽,當(dāng)頁面完成的時候再去做相應(yīng)的加載圖片


public void onPageFinished(WebView view, String url) {

? ? if(!webView.getSettings().getLoadsImagesAutomatically()) {

? ? ? ? webView.getSettings().setLoadsImagesAutomatically(true);

? ? }

}

5.修改webview加載錯誤的提示頁面類似404,403等頁面,讓原生來實(shí)現(xiàn)這個頁面,我們可以通過重寫onreceivederror方法

解決方案:

public void onReceivedError (WebView view, int errorCode, String description, String failingUrl) {

? ? super.onReceivedError(view, errorCode, description, failingUrl);

? ? loadDataWithBaseURL(null, "", "text/html", "utf-8", null);

? ? switch(errorCode){

? ? ? case 404:

? ? ? ? errorView.setBackgroundRes...(XXXXX);

? ? ? ? break;?

? ? }

? ? errorView.setVisibility(View.VISIBLE);


}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • WebView·開車指南 目錄 WebView簡介 WebView基本使用 WebView常用方法 WebSett...
    小莊bb閱讀 3,649評論 3 25
  • 一、WebView 谷歌提供的系統(tǒng)組件,用來加載和展現(xiàn)html網(wǎng)頁,其采用webkit內(nèi)核驅(qū)動,來實(shí)現(xiàn)網(wǎng)頁瀏覽功能...
    閑庭閱讀 7,192評論 2 12
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,307評論 0 17
  • WebView簡介 String getUrl():獲取當(dāng)前頁面的URL。 reload():重新reload當(dāng)前...
    QM閱讀 3,306評論 0 52
  • 油煙氣像是家的味道般存在,回家有一碗熱氣騰騰的湯飯總是暖心。外面的食物萬千可選,卻還是容易膩。家里簡單小菜,卻吃得...
    冰燕飛閱讀 297評論 0 1

友情鏈接更多精彩內(nèi)容