PCブラウザでネットワーク接続の有無を検知するには?
PCブラウザでネットワーク接続の有無を検知するにはどうしたらいいだろう? 一応「navigator.onLine」というAPIはある。 window.navigator.onLine - Web API インターフェイス | MDN ブラウザのサポート具合を調べてみると、全てのブラウザというわけにはいかないが、まあまあサポートされていることがわかる。 Can I use... Support tables for HTML5, CSS3, etc しかし、このAPIには色々と問題があることがすぐに分かった。 javascript - How to detect online/offline event cross-browser? - Stack Overflow … Chrome and Safari will detect when you go "offline" automatically - meaning that "online" events and properties will fire automatically when you unplug your network cable. Firefox (Mozilla), Opera, and IE take a different approach, and consider you "online" unless you explicitly pick "Offline Mode" in the browser - even if you don't have a working network connection. … 要するに、ChromeやSafariならネットワーク接続が切れた時点で自動的にオフラインイベントが来るが、FirefoxやOpera、IEはブラウザ側に「オフラインモード」という機能があるので、navigator.onLineの値は実際のネットワーク接続に有無ではなく「オフラインモードかどうか」の値になってしまう、という話。 つまり、全くもって役に立たない! ではどうするか? StackOverflowでも議論されているが、要するに「...