2015-01-31 2 views
2

Мне было интересно, есть ли способ обнаружить пустые веб-страницы с помощью webview. На самом деле, это приложение для колледжа, и поэтому было бы не привлекательным, если приложение загружает пустую страницу и думает использовать WebView.loadURL("<html><body> <h1>Oops! We have an empty page here</h1></html>"), когда я сталкиваюсь с пустой страницей.Обнаружение пустой веб-страницы в WebView android

Итак, есть ли способ реализовать это?

КПП. это случай, когда загруженная веб-страница URL-адреса пуста, а не проблема с рендерингом или что-то еще, что она называется!

ответ

4

Есть два возможных случая:

  1. страница не загружается.
  2. Страница загружается, но не заполняется.

Решения для каждого случая:

  1. Приложить WebViewClient к вашему WebView, где вы переопределять onReceivedError(), чтобы узнать больше об ошибке.
  2. Приложите WebViewClient к вашим WebView и в onPageFinished() используйте javascript для проверки количества дочерних узлов <body>. Если у него нет дочерних узлов, вы можете показать свою страницу html по умолчанию.

Чтобы получить количество дочерних узлов вы можете использовать javascriptInterface класс вроде этого:

webView.loadUrl("javascript: var count = document.body.childNodes; jsInterface.childCount(count.length);") 
Смежные вопросы