Запрос выглядит как проверка сетевого подключения через определенное время.
Простое сетевое подключение можно определить с помощью свойства Navigator.onLine .
let online = navigator.onLine;
Чтобы использовать временную задержку перед информированием пользователя, вы можете использовать функцию setTimeout () .
let timeout = setTimeout(myTimeoutHandler, 5000);
Очень простой пример, который проверяет соединение через 5 секунд, показывая предупреждение, если нет соединения:
setTimeout(() => {
if (!navigator.onLine) {
alert('no network connection');
}
}, 5000);
Но возникает вопрос, насколько хороша поддержка браузером navigator.onLine
?
Согласно caniuse.com , поддержка неплохая.
Обновление
Исходный код пытается загрузить jQuery из CDN, поэтому простой поиск наличия jQuery определит возможность подключения.
setTimeout(() => {
if (typeof window.jQuery !== 'function') {
alert('jQuery not loaded');
}
}, 5000);
Пример для демонстрации.
function testForJquery() {
setTimeout(() => {
if (typeof window.jQuery !== 'function') {
alert('jQuery not loaded');
} else {
alert('jQuery is loaded');
}
}, 1000);
}
function loadJQuery () {
let script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js';
document.body.appendChild(script);
}
<body>
<h4>Test for jQuery</h4>
<button onclick="loadJQuery();">Load jQuery</button><br/>
<button onclick="testForJquery();">Test for jQuery</button><br/>
</body>