6

Я пытаюсь написать расширение, которое будет кэшировать содержимое страницы для автономного чтения. Если пользователь активирует всплывающее окно расширения в автономном режиме, я хотел бы показать содержимое в кэше. В настоящее время я думаю, что могу сделать запрос ajax и дождаться, если он не сработает, но если есть часть хром API, которая позволит мне сделать это быстрее, это будет идеально.Chrome OS, быстро скажите, есть ли подключение к Интернету или нет через расширение Chrome?

Я сделал какой-то поиск в Интернете и ничего не натолкнулся.

ответ

16
if (navigator.onLine) { 
    // Online 
} else { 
    // Offline 
} 

Он также поддерживает прослушиватели событий.

https://developer.mozilla.org/en/Online_and_offline_events

+2

navigator.onLine неправильно отображает изменения немедленно, если изменение состояния сети –

+0

navigator.onLine очень ненадежно. См. Https://stackoverflow.com/questions/14283124/navigator-online-not-always-working – Chiwda

3

Tried navigator.onLine? Я читал, что это ненадежно, но я просто сделал тест (отключившись от WiFi), и он сработал.

3

navigator.onLine отчеты правильно в большинстве случаев, но один я нашел, где это неправильно, если вы должны были отключить Wi-Fi, но у вас есть сетевой кабель PoE подключен к порту сетевого адаптера. Несмотря на то, что телефон может находиться в автономном режиме, navigator.onLine сообщает, что браузер фактически находится в сети.

3

Звучит как navigator.Online проверяет подключение к сети, не обязательно подключение к Интернету. Если вы хотите подтвердить, что пользователь имеет доступ к Интернету, я думаю, вы можете использовать этот параметр в сочетании с периодическим или по требованию Ajax-запросом к Google или другому надежному сайту и отслеживать ответ, чтобы определить, имеет ли пользователь стабильный интернет подключение.