Chrome OS, быстро скажите, есть ли подключение к интернету или нет через расширение Chrome?

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

Я немного погуглил и ничего не встречал.

4 ответа

Решение
if (navigator.onLine) {
  // Online
} else {
  // Offline
}

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

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

Похоже, навигатор. Он-лайн проверяет сетевое соединение, не обязательно интернет-соединение. Если вы хотите подтвердить, что у пользователя есть доступ к Интернету, я думаю, что вы можете использовать эту опцию в сочетании с периодическим Ajax-запросом или запросом по запросу в Goo gle или на каком-либо другом надежном сайте и отслеживать ответ, чтобы определить, есть ли у пользователя стабильный Интернет. подключение.

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

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

Другие вопросы по тегам