2012-05-08 13 views
2

現在、インターネットを必要とする機能を備えたキャッシュ付きiPhoneアプリと、そうでない他の機能を作成しています。 JavaScriptでインターネット接続を検出する方法、特定のページに「インターネット接続なし」のテキストを表示させる方法、およびその他の機能を正常に動作させる方法を知りたい。 HTML5ではJavaScriptを使用したインターネット接続の検出

+0

これがiPhoneに役立つかどうかはわかりませんが、サイトにこれに似た投稿があります:http://stackoverflow.com/questions/2384167/check-if-internet-connection-exists-with-javascript – lakam99

答えて

8

、あなたが使用することができます。

navigator.onLine 

をインターネット接続を検出します。

LIVE DEMO:http://jsfiddle.net/DerekL/fHQK4/

+1

これは私が見た最もクリーンな解決策です、ありがとう!! – alchemication

+0

最もクリーンなソリューションです。残念、**それは働いていない**! [this](https://developer.mozilla.org/en-US/docs/Web/API/window.navigator.onLine#Browser_compatibility)によると、[this](http://stackoverflow.com/a/2384227/1469208)と[this](http://stackoverflow.com/a/4813406/1469208)、 'navigator.onLine'はHTML5に含まれていますが、**はChromeとWebKitベースのブラウザでのみ正しくサポートされています** !他のブラウザは、 'オフライン作業 'モードが無効の場合は' true'を返し、有効な場合は 'false'を返します。実際の接続性にかかわらずです。 – trejder

+0

私は(私のものではなく)見つけた[シンプルなjsFiddleの例](http://jsfiddle.net/Gajotres/VXWGG/1/)を使って、これを非常によくしてきました。それはChromeで正常に動作し、Firefoxで完全に失敗します(私は 'Work Offline'を有効にしていないので、常に' true'を返します)。私はこれがIEで動作しているのかどうかは分かりません。なぜなら、jsFiddleページ(不自由なブラウザ)で、貧しい乞食のようにハングするからです! :]信頼できる接続チェックが必要な場合は、XHR要求を行い、失敗したかどうかをチェックする必要があります。最初のコメントで私が提供する多くの例がリンクにあります。 – trejder

0

あなたはIFRAMEを作成し、GoogleにSRCを設定することができます。数秒でオンロードを起動しなければ、インターネットを持っていない可能性があります。

+1

ユーザーのインターネット速度が遅く、読み込みに1分かかる場合はどうなりますか? –

+1

@Derek、それは当てはまりますが、世界で最も速いサーバーから約600バイトをロードするのに数秒以上かかるインターネット接続にはあまり期待はありません。インターネットもないかもしれません。 – mowwwalker

関連する問題