実際には、これはまったくjQueryを必要としません。 HTML5自体には、オンライン/オフライン状態で実行されるアプリケーション用のきちんとした機能があります。cache manifest
<html manifest="cache.manifest">
このマニフェストファイルの内容をキャッシュするファイル機能(NETWORK
)にオンライン条件を必要とするリソースブラウザを、(伝えます:キャッシュマニフェストは<html>
タグのmanifest
属性で参照プレーンテキストファイルですCACHE
)、オフラインでネットワークリソースが要求された場合の対処方法(FALLBACK
)
CACHE MANIFEST
# the above line is required
NETWORK:
*
FALLBACK:
* error404.html
CACHE:
index.html
about.html
help.html
# Plus all other resources required to make it look nice
style/default.css
images/logo.png
images/backgound.png
マニフェストを使用する場合、ブラウザはまずマニフェストを調べと、任意のスクリプトなしに、オンラインまたはオフラインであることに基づいて、それに応じて作用します。
http://dev.w3.org/html5/spec-preview/offline.html#manifests
UPDATE:
応答コンテンツタイプに重要な要件に注意してください。プレーンテキストは単純に機能しません。
マニフェストは、text/cache-manifest
MIMEタイプを使用して配信する必要があります。
http://dev.w3.org/html5/spec-preview/offline.html#writing-cache-manifests
もマニフェストにリストされていないすべてのURLは、結果として負荷から遮断されることに注意してください。だからこそ私は上記のマニフェストをワイルドカード(
*
)で修正して "残り"を許可しています。それはあなたが始めるのを助けるかもしれません。
指定したとおりに試しました。 if/elseの両方に警告します。もし私が期待しているようにifが完全に動作すると、ネットワーク接続を無効にしてelseをテストすると失敗し、if文に表示される内容が表示されます。 – Brendan
それは馬鹿な証拠ではなく、ブラウザからデータを取得します。 – Bot
「オフライン」モードであるかどうかを示すだけで、インターネットにアクセスできるかどうかを実際に確認する方法を探していました。 – Akbari