回線速度を求める(高速回線用)


動作ブラウザ 【 IE:4.0   NN:3.0
Internet Explorer Netscape Navigator Opera iCab Safari
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 7.0 7.x 8.x 2.x 1.x 2.x
Windows × - × -
Macintosh × - ×
UNIX - - - - - × -

ポイント ed = (new Date()).getTime(); tm = (ed - st) / 1000; // sec sp = Math.floor(datasize / tm / 1024); alert("回線速度:"+sp+"KB/sec");
説  明 回線速度を求めるには、ページが読み込まれた時点での時間をgetTime()で取得しておきます。ページ読み込み完了時(onLoadイベント発生時)に、その時間をgetTime()で取得し、最初に読み込まれた時間を減算します。これでミリ秒が取得できるので、読み込まれた総合計のバイト数をかかった時間で除算すれば回線速度(byte/sec)を求めることができます。Windows版IEではキャッシュの都合上、srcプロパティに毎回異なるミリ秒を指定してキャッシュさせないようにする必要があります。また、より精度の高い値を得るには、画像のサイズを大きいものにする必要があります。ブラウザの動作速度およびマシン速度によっても誤差が発生します。
サンプル <html> <head> <title>回線速度を求める(高速回線用)</title> <script type="text/javascript"><!-- st = (new Date()).getTime(); datasize = 2659982; // ページと画像の総合計サイズ function calcTime() { ed = (new Date()).getTime(); tm = (ed - st) / 1000; // sec sp = Math.floor(datasize / tm / 1024); alert("回線速度:"+sp+"KB/sec"); } // --></script> </head> <body onLoad="calcTime()"> 回線速度を求めます(高速回線用)<br> <script type="text/javascript"><!-- document.write('<img src="image.gif?cache='+(new Date()).getTime()+'" name="dImage" width="64" height="64">'); // --></script> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA