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ď č. 1Môž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é.