JavaScript で作成した。jQuery を利用したので作成も何もない。
必要なファイル
- jquery-1.11.1.min.js
- なんか画像ファイル
ソース
function SpeedTest(){ var start = (new Date()).getTime(); $.get('http:///www.hoge/huga.png?' + start, function(data) { var end = (new Date()).getTime(); var sec = (end - start) / 1000; var mbps = (( (data.length *8) / sec)/1000000).toFixed(5); alert((mbps) + 'Mbps'); }); };
解説みたいなもの
jQuery を利用することで簡単に実装した。エラー処理も何もない。$.get
は成功した時のみ何らかの処理を実行するらしい。
var start = (new Date()).getTime();
で、関数が呼ばれた時点の時間を取得する。$.get( url, data, callback )
という文法に従って書く。参考:jQuery.get( url, data, callback )。sec = (end - start) / 1000;
で、getTime()で得られるのはミリ秒なので、秒へと換算する。data.length
で得られるのはバイト単位なので、8をかけてビットへと換算。取得するのにかかった秒数で割ることでbpsが得られるので、メガバイト換算するために1,000,000で割る。(Number).toFixed(5)
で有効桁数5桁にしている。
終わり。