Страница 1 из 1
WebView как отловить "Веб страница недосупна?"
Добавлено: 20 июн 2014, 10:42
bydirect
Добрый день. Делаю приложение на основе WebView. Есть проверка на подключение к интернету, по результатам которой решается открывать сайт в вебвью или нет.
Но что делать если проверка пройдена, сайт открылся, но во время его использование пропадает соединение (открывается "Веб-страница недоступна")? Как можно вообще отловить данные ошибки или же сменить страницы с ошибками на свои? Не хочется чтоб пользователь видел пути до скриптов, и вообще понимал что это сайт.
Re: WebView как отловить "Веб страница недосупна?"
Добавлено: 20 июн 2014, 10:50
altwin
bydirect писал(а):Добрый день. Делаю приложение на основе WebView. Есть проверка на подключение к интернету, по результатам которой решается открывать сайт в вебвью или нет.
Но что делать если проверка пройдена, сайт открылся, но во время его использование пропадает соединение (открывается "Веб-страница недоступна")? Как можно вообще отловить данные ошибки или же сменить страницы с ошибками на свои? Не хочется чтоб пользователь видел пути до скриптов, и вообще понимал что это сайт.
Проверяйте код ответа сервера во время проверки подключения, если 404
или другие - грузите страницу ошибок из assets. Вообще это все задача сервера, но никто вам не мешает проверять или подменять результаты из своих ресурсов.
Re: WebView как отловить "Веб страница недосупна?"
Добавлено: 20 июн 2014, 11:05
bydirect
Спасибо за ответ. Но что делать если соединение пропало во время того как в вебвью уже загружен сайт, пользователь делает клик по кнопке, и ответ сервера я уже не могу получить? Тут надо изменить именно стандартную страницу браузера вызываемую при отсутствии соединения.
Re: WebView как отловить "Веб страница недосупна?"
Добавлено: 20 июн 2014, 11:11
altwin
bydirect писал(а):Спасибо за ответ. Но что делать если соединение пропало во время того как в вебвью уже загружен сайт, пользователь делает клик по кнопке, и ответ сервера я уже не могу получить? Тут надо изменить именно стандартную страницу браузера вызываемую при отсутствии соединения.
Браузер ничего не вызывает, он отвечает только за разбор и отображение документа.
можно что то в таком роде сделать:
[syntax=java5]
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
myWebView.loadUrl("file:///android_asset/custom_url_error.htm");
}
});
[/syntax]
Re: WebView как отловить "Веб страница недосупна?"
Добавлено: 20 июн 2014, 11:19
bydirect
Огромное спасибо! То что нужно.