menu
書いてる野郎
orebike@gmail.com
Tips ネットワーク編 サーバー接続をチェックする 1 [Javascript] All About
画像のonLoadやonErrorに仕込めばお手軽でいいかも。
実装してないけど多分
こんなんでいいような気がするわ
これならネットワークが繋がっている場合は正常系が即実行される。
で動作確認
元のHTML
<html> <head> <title>hoge</title> </head> <body> <div onclick="hogehoge();">click</div> <script src="a.js"></script> </body> </html>
元のHTMLから呼び出されるお膳立て用スクリプト
var timer; function hogehoge(){ timer = setTimeout(piyopiyo, 5000); var scriptB = document.createElement("script"); scriptB.src = "b.js?" + Math.random(); var head = document.getElementsByTagName("head")[0]; head.appendChild(scriptB); } function piyopiyo(){ alert("disconnect"); } function fugafuga(){ clearTimeout(timer); alert("connect"); }
疎通確認用に使うコールバックが記述されているスクリプト
fugafuga();
window.navigator.onLine
というプロパティからネットワーク状態を取得できるらしい。
つながっていたらtrue、切れていたらfalse・・・らしい
ということだがこれはかなり怪しいというか意味が無い。 まず挙動が実装系やそのバージョンによってバラバラ。PCのブラウザは常にtrueを示したり、Androidだとバージョンによって状態が違ったりと。
そもそもネットワークってのは単に繋がっているだけじゃ意味が無い、欲しいデータがあるサーバに繋がりを確認できないと意味が無い。
Android端末をWiMAX端末に無線LAN接続している場合はどうだろう?WiMAXの電波が切れていてもAndroid端末はWiMAXとはネットワークが繋がっているのだからAndroidから見ればネットワークは繋がっている。しかしWiMAXが切れているのだからやっぱり目的は達成できない。
これ意味あんのか?
2012-04-05