/ / Kontrola internetového pripojenia pomocou JavaScriptu - javascript, jquery, ajax

Kontrola pripojenia k internetu pomocou jazyka JavaScript - javascript, jquery, ajax

PROBLÉM

Chcem zobraziť upozornenie, ak je WiFi vypnuté [t.j.žiadne internetové pripojenie]. Na svojej webovej stránke mám niekoľko tlačidiel, vyskakovacích okien atď. Používateľ môže kliknúť na čokoľvek, keď je offline. Chcem ale ukázať, či volanie API zlyhalo. Môžem skontrolovať navigator.onLine pri každom kliknutí. Ale nechcem napísať počet volaní funkcií alebo liniek. Existuje nejaký spôsob, ako to bežne robiť pomocou jQuery, JS, Ajax?

„VÝSTRAHA by sa mala zobraziť, keď hovor zlyhá, čo bolo spôsobené činnosťou používateľa“

Páči sa mi to $.ajax s chybou. Nemalo by to byť ohraničené žiadnym div / stránkou.

Ahoj, skúsil som nasledovné:

navigator.onLine  // It works fine

Ako som spomínal, použil som nižšie uvedený. Ale nefunguje to.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write("<script src="js/vendor/jquery-1.10.2.min.js"></script>")</script>

Odkazy, ktoré som uviedol

Zistiť, že je internetové pripojenie offline?

Skontrolujte internetové pripojenie pomocou jQuery

a niekoľko ďalších.

Nejaké návrhy?

odpovede:

1 pre odpoveď č. 1

Môžete použiť natívne setInterval fungujú tu. Napríklad vo vnútri vášho document.ready alebo niekde inde, ktoré sa načítajú skôr, keď sa stránka načíta, použite nastavený interval:

setInterval(callbackFunction:,1000/*<--run function every interval in ms*/);

a napíš svoju spätnú väzbu (pravdepodobne nad setInteraval) niečo ako:

var callbackFunction = function(){
if (navigator.online){
//manipulate the DOM
}
};

Nezabudnite to vložiť do a document.ready() funkciu, ak manipulujete s DOM, a tiež to, že funkcia spätného volania, ak je definovaná mimo setInterval() pravdepodobne by sa malo deklarovať ako prvé.