- ベストアンサー
JavaScript で接続速度を測る
JavaScript で接続速度を測って、実行するスクリプトを自動選択するようにしたいと思っています、ここで検索したのですが、CGI での測定方法しか見つかりませんでした。JavaScript で測る方法をご存知の方がいらっしゃいましたら、お教えください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
JavaScriptで計測できないのは JavaScriptはクライアント側のローカルで完結してしまい転送速度を測る方法が無いから。 CGI経由なのは通信が有るから。 小賢しい方法としてはページの頭にタイマーを仕込み、ページ内に大きめの画像(測定用だけどTOP絵にしてあれば気づかれないと思う)を貼り付けonLoadイベントでどのくらいタイマーが進んだかで速度にアタリを付ける。 ただ、回線が早くてもPCや利用状況で大きな誤差が出る事があるのでこの方法だと微妙かもしれない
その他の回答 (1)
>キャッシュさせない方法 キャッシュさせない方法はもう ブラウザ依存になっちゃう。 http://www.atmarkit.co.jp/fjava/rensai2/webopt12/webopt12.html http://www.au.kddi.com/ezfactory/tec/spec/wap_tag11.html http://support.microsoft.com/kb/234067/ja http://www.tagindex.com/html_tag/page/meta_10.html http://www.htmq.com/html/meta.shtml
お礼
次のようにしたところ、うまく動きました。ありがとうございます。 <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>
お礼
早速のご回答ありがとうございます。 なるほど、ちょっと試してみます。
補足
スピードテスト用の画像(カラーノイズ)を使いたいのですが、画像をキャッシュさせない方法はありますか。