日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 判断webview加载成功,Android:如何检查使用webview.loadUrl时url的成功加载

發布時間:2025/3/15 Android 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 判断webview加载成功,Android:如何检查使用webview.loadUrl时url的成功加载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不幸的是,目前在WebView中沒有簡單的方法來確保頁面上的所有內容都已成功加載。我們希望在未來的版本中提供更好的API。讓我解釋一下你現在可以做什么。

首先,為了檢測阻止WebView連接服務器加載主頁面的任何問題(例如,域名錯誤,I/O錯誤等),您應該使用WebViewClient.onReceivedError回調函數作為其他人的正確建議:

public class MyWebViewClient extends WebViewClient {

@Override

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

// Make a note about the failed load.

}

}

myWebView.setWebViewClient(new MyWebViewClient());

如果服務器連接成功,主要頁面被檢索和分析,您將收到WebView.onPageFinished回調,所以你也需要有這樣在你WebViewClient子類:

public class MyWebViewClient extends WebViewClient {

...

@Override

public void onPageFinished(WebView view, String url) {

// Make a note that the page has finished loading.

}

...

}

這里需要注意的是,如果您從服務器收到HTTP錯誤(例如,一個404或500錯誤),這個回調將被調用,這只是你在WebView中獲得的內容將是一個服務器錯誤頁面。人們提出了不同的處理方法,請參閱這里的答案:How can I check from Android WebView if a page is a "404 page not found"?基本上,這取決于你期望成為一個“好”頁面和一個“錯誤”頁面。不幸的是,應用程序目前無法從WebView獲取HTTP響應代碼。

回調WebViewClient.onPageStarted和WebViewClient.onProgressChanged僅在您要加載頁面時繪制進度條時才有用。

還要注意的是壓倒一切WebViewClient.shouldOverrideUrlLoading,人們通常建議的方式是不正確的:

public class MyWebViewClient extends WebViewClient {

...

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// !!! DO NOT DO THIS UNCONDITIONALLY !!!

view.loadUrl(url);

return true;

}

...

}

少數開發商體會到什么是回調也呼吁與非HTTPS模式的子幀。如果您遇到像這樣的內容,您將最終執行view.loadUrl('tel:1234'),并且您的應用將顯示錯誤頁面,因為WebView不知道如何加載tel: URL。 建議簡單地從方法返回false,如果你想要的WebView做負載:

public class MyWebViewClient extends WebViewClient {

...

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// Returning 'false' unconditionally is fine.

return false;

}

...

}

這并不意味著你不應該從shouldOverrideUrlLoading調用WebView.loadUrl可言。要避免的具體模式是無條件地為所有URL執行此操作。

總結

以上是生活随笔為你收集整理的android 判断webview加载成功,Android:如何检查使用webview.loadUrl时url的成功加载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。