• ベストアンサー

JavaScript で接続速度を測る

JavaScript で接続速度を測って、実行するスクリプトを自動選択するようにしたいと思っています、ここで検索したのですが、CGI での測定方法しか見つかりませんでした。JavaScript で測る方法をご存知の方がいらっしゃいましたら、お教えください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#39970
noname#39970
回答No.1

JavaScriptで計測できないのは JavaScriptはクライアント側のローカルで完結してしまい転送速度を測る方法が無いから。 CGI経由なのは通信が有るから。 小賢しい方法としてはページの頭にタイマーを仕込み、ページ内に大きめの画像(測定用だけどTOP絵にしてあれば気づかれないと思う)を貼り付けonLoadイベントでどのくらいタイマーが進んだかで速度にアタリを付ける。 ただ、回線が早くてもPCや利用状況で大きな誤差が出る事があるのでこの方法だと微妙かもしれない

KanjiTalk
質問者

お礼

早速のご回答ありがとうございます。 なるほど、ちょっと試してみます。

KanjiTalk
質問者

補足

スピードテスト用の画像(カラーノイズ)を使いたいのですが、画像をキャッシュさせない方法はありますか。

その他の回答 (1)

noname#39970
noname#39970
回答No.2
KanjiTalk
質問者

お礼

次のようにしたところ、うまく動きました。ありがとうございます。 <head> <script type="text/javascript"><!-- now = new Date().toString(); st = new Date().getTime(); window.onload = function() { tm = new Date().getTime() - st; kb = 539; sec = tm / 1000; kbps = Math.round(kb/sec); url = "http://www.pref.ibaraki.jp/bukyoku/nourin/suishi/musen/noaa/movie/noaa.html"; location.href = url + "?" + kbps; } //--</script> </head> <body> <script type="text/javascript"> document.write("<img src="test.png?" + escape(now) + "' width='0' height='0'>"); </script> </body>

関連するQ&A