UI組件——WebViewClient部分api解釋

  • shouldOverrideUrlLoading
    post不調用此方法,當webview.loadUrl(url),url爲非HTTP url 時,返回true

  • onPageStarted
    開始加載,每個主frame只調用一次

  • onPageFinished
    頁面加載完成,此時圖片可能沒有加載

  • onLoadResource
    加載資源

  • onPageCommitVisible
    通知應用程序不在繪製來自上頁遺留下來的內容,不知道怎麼用。。。

  • shouldInterceptRequest
    加載資源,比如加載本地的一張圖片,資源的屬性封裝在WebResourceResponse中

  • onReceivedError(WebView view, int errorCode,String description, String failingUrl)
    參數釋義:errorCode:錯誤碼;description:錯誤描述;failingUrl:請求時發生錯誤的url。這個方法表示在資源加載過程中,接收到了錯誤,此錯誤通常是指主資源錯誤(the main resource),比如說,連接失敗、超時等都會回調此方法,巴特此方法已經過時了,但是仍可用來做適配用,在API23的時候加入了新的方法onReceivedError(WebView view, WebResourceRequest request, WebResourceError error),WebResourceError 只是對上述過時方法的參數的封裝,這個新的方法真是噁心,它表示的不是說主資源加載失敗的時候回調這個方法,而是不論哪個資源加載失敗都會回調這個方法,比如一個文字,一張圖片加載失敗都會走這個方法,那麼我們怎麼判斷是否是主資源加載失敗呢,看這裏,有個WebResourceRequest,這個類裏面有個isForMainFrame,如果是主資源就返回true,所以就解決了判斷的問題。還有一個比較噁心的地方是,據我的測試,當發生錯誤的時候這個方法並不是100%的調用,這是最噁心的地方。

  • onReceivedHttpError
    收到有關http的錯誤,文檔上說http返回的狀態碼是400的時候會回調這個方法,是不是以4開頭的狀態碼都會回調這個方法還有待驗證

  • doUpdateVisiteHistory
    更新歷史記錄

  • onReceivedSslError
    ssl網絡傳輸層證書錯誤

  • onScaleChanged
    尺寸方式改變的回調
發佈了54 篇原創文章 · 獲贊 17 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章