2018年5月23日 星期三

[Android Studio] WebView元件 - setWebViewClient與setWebChromeClient使用方法


一、WebViewClient 主要幫助WebView處理各種通知、請求事件的

●可用方法如下:
doUpdateVisitedHistory (更新歷史記錄)
onFormResubmission(應用程式重新請求網頁數據)
onLoadResource(載入指定位址提供的資源)
onPageFinished(網頁載入結束)
onPageStarted(網頁開始載入)



onReceivedError(報告錯誤資訊)
onScaleChanged(WebView發生改變)
shouldOverrideUrlLoading(新的連接在當前WebView中打開)

●範例:
//    在點擊請求的是連接時才會調用,重寫此方法返回true表明點擊網頁連接還是在當前的 WebView 裡跳轉,不跳到瀏覽器.

1、public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url);
       return true;
  }


 // 此方法可以讓 WebView 處理https請求。

2、public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) {
handler.proceed();
}


 // 此方法才能夠處理在瀏覽器中的按鍵事件。

3、public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
            return super.shouldOverrideKeyEvent(view, event);
        }
    }


 // 在加載頁面時會調用,每一個URL加載都會調用一次。

4、 public void onLoadResource(WebView view, String url) {

            super.onLoadResource(view, url);
        }


 // 在頁面加載開始時調用。

5、 public void onPageStarted(WebView view, String url, Bitmap favicon) {
   
            super.onPageStarted(view, url, favicon);
        }


 // 在頁面加載結束時調用。

6、public void onPageFinished(WebView view, String url) {

            super.onPageFinished(view, url);
        }

二、setWebChromeClient 主要輔助WebView處理Javascript的對話方塊、網站圖示、網站title、載入進度


●可用方法如下:
onCloseWindow(關閉WebView)
onCreateWindow(創建WebView)
onJsAlert(處理Js中的Alert對話方塊)、onJsConfirm(處理Js中的Confirm對話方塊)、onJsPrompt(處理JS中的Prompt對話方塊)
onProgressChanged(載入進度條改變)
onReceivedIcon(網頁圖示更改)
onReceivedTitle(網頁標題更改)
onRequestFocus(WebView顯示焦距)

沒有留言:

張貼留言

影片的問題請留在影片的留言區裡。
部落格不會另外通知給我,所以很難發現你有留言。