Получить статус подключения к интернету в Javascript - PullRequest
1 голос
/ 01 ноября 2019

Я хочу проверить, есть ли у пользователя активное подключение к Интернету.

Я знаю, что мы можем сделать это с помощью навигатора. Онлайн, но я не думаю, что это работает, когда пользователь имеет ограниченную сеть WiFi.

Мне нужно показать всплывающее окно, если пользователь был отключен / имеет ограниченную сеть WiFi

Ответы [ 3 ]

0 голосов
/ 01 ноября 2019

Вы можете использовать этот пакет npm ng-connection-service

, после чего вы можете легко использовать следующий код в своем корневом компоненте приложения:

constructor (private connectionService: ConnectionService) {
        this.connectionService.monitor().subscribe((isConnected: boolean) => {
            if (!isConnected) {
                alert('oops you have no Internet connection');
            }
        });
}
0 голосов
/ 01 ноября 2019

вы можете создать такую ​​функцию:

const checkConnection = () => fetch('https://google.com')
        .then(response => {
            if (!response.ok) {
                throw new Error('HTTP status ' + response.status);
            }
            return response;
        })
        .then(response => 'online')
        .catch(error => 'offline');

И использовать ее так:

const isOnline = await checkConnection() === 'online';
0 голосов
/ 01 ноября 2019

XHR Requests

Попробуйте сделать XHR-запрос к тому же самому веб-сайту (или, может быть, даже к нескольким XHR-запросам), и проверьте, если это не удалось, и если это произойдет, вы можете с уверенностью заключить, что пользовательне имеет активного подключения к интернету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...