2013-03-15 7 views
5

В любом случае, чтобы обнаружить в фоновом расширении, когда Chrome показывает страницу« Ошибка 106 (net :: ERR_INTERNET_DISCONNECTED): Интернет-соединение потеряно ». ? Я попытался зарегистрировать прослушиватель с chrome.webRequest.onErrorOccurred.addListener и chrome.webNavigation.onErrorOccurred.addListener, но ни один слушатель не вызывается, когда возникает «Ошибка 106». Мои слушатели правильно вызываются для других ошибок, таких как «net :: ERR_NAME_NOT_RESOLVED».Обнаружение «Ошибка 106 net :: ERR_INTERNET_DISCONNECTED» «

Я ориентирую Chrome 22.0.1229.94 в среде Window 7. Большей целью является предоставление пользовательских сообщений (на отдельной вкладке) при утрате возможности подключения к Интернету.

+4

Вы пробовали 'navigator.onLine' собственности и/или' 'window.ononline'/окно. onoffline'? –

+0

Rob W, они отлично работали. Спасибо. – trauble

+1

Я действительно не доверяю navigator.onLine, поскольку я нашел много случаев, когда он фактически не представляет собой истинное подключение к Интернету, но больше подключается к вашей локальной сети/маршрутизатору. –

ответ

1

лично я в конечном итоге тестирование для ответа == "" и статус == 0.

 var req = new XMLHttpRequest(); 
     req.open("post", VALIDATE_URL, true); 
     req.onreadystatechange = function receiveResponse() { 

      if (this.readyState == 4) { 
       if (this.status == 200) { 
        console.log("We go a response : " + this.response); 
       } else if (!isValid(this.response) && this.status == 0) { 
        console.log("The computer appears to be offline."); 
       } 
      } 
     }; 
     req.send(payload); 
     req = null; 
+0

Это происходит как для сети :: ERR_CONNECTION_REFUSED, так и для сети :: ERR_INTERNET_DISCONNECTED, поэтому это не очень полезно, к сожалению – Josh

Смежные вопросы