2015-06-01 2 views
-2

Что является самым простым способом запуска функции, когда устройство становится в сети или в автономном режиме с помощью Android Webview. Я нашел этот.Проверьте онлайн или офлайн?

window.addEventListener('online', update OnlineStatus);

, но он не работает в андроиде WebView

+0

'navigator.onLine'? – Zee

+0

https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLine – Satpal

+0

@Zee это работает на веб-странице не в андроиде webview –

ответ

0

Попробуйте получить доступ к любому небольшому размеру файлу, как image на сервере, если он не найден, то это означает, что пользователь не подключен !

JavaScript Функция:

function doesConnectionExist() { 
    var xhr = new XMLHttpRequest(); 
    var file = "img/a.png";  //path of image on your server/internet 
    var randomNum = Math.round(Math.random() * 10000); 
    xhr.open('HEAD', file + "?rand=" + randomNum, false); 
    try { 
     xhr.send(null); 
     if (xhr.status >= 200 && xhr.status < 304) { 
      return true; 
     } else { 
      return false; 
     } 
    } catch (e) { 
     return false; 
    } 
} 

Вызов выше функции на любом событии, которое делает вызов сервера:
, если она возвращает true, то пользователь подключен!

+0

это только для проверки соединения в определенном пункте. но как инициировать событие, если соединение подключено к сети или в автономном режиме. –

+0

вы должны вызвать эту функцию только для локальных событий JavaScript. – Vikrant

+0

с использованием таймера для постоянной проверки этой функции - это не очень хорошая идея. –

1

делать все, что вы хотите в функции обратного вызова, где есть предупреждение, когда теряется связь

document.addEventListener("offline", function(){ alert("No connection found") }, false); 
+0

это тоже не работает, я пробовал это раньше –

+0

работает по-разному в разных браузерах – Stardust

+0

@AshBringer вопрос заключается в том, чтобы вызвать функцию когда устройство становится онлайн или оффлайн в Android Webview не в браузере –

1

пытаются получить доступ к любой небольшой размер файла, как изображение на вашем сервере, если он не найден, то это означает, что пользователь Не подключен ! таким образом, вы можете найти онлайн или офлайн