JavaScriptで接続速度を検出する方法

Webページのヘッダー領域(開始タグの後、終了タグの前)に開始スクリプトタグと終了スクリプトタグを追加します。次に例を示します。

開始スクリプトタグと終了スクリプトタグの間に次のコードを追加し、「myimage.jpg」を速度テストに使用する画像のファイル名に置き換えます。 構築され、imageAddrに割り当てられるアドレスの "?n =" + Math.random()部分は、ローカルにキャッシュされたバージョンを使用する代わりに、Webブラウザをだまして毎回画像をフェッチさせます。 ファイルサイズが約200キロバイトの画像を使用してください。

スクリプトの次の行に次のコードを追加して、テストの開始時刻、終了時刻、およびダウンロードサイズを格納する変数を作成します。 「downloadSize」を画像ファイルのサイズ(バイト単位)に設定します。

次のコードを追加して、テスト用にダウンロードされるイメージを設定します。 「ダウンロード」はImageオブジェクトとして設定されます。 ダウンロードの終了をキャプチャするアクションは、イメージのダウンロードが完了したときにアクティブ化するように割り当てられています。

速度テストの結果を表示する計算スクリプトに次の関数を追加します。 まず、ミリ秒を秒に変換して、期間を計算します。 次に、ダウンロードサイズをビットに変換し、ダウンロード速度を計算し、速度をkbpsとMbpsに変換します。 最後に、結果を示すメッセージボックスがポップアップ表示されます。

function showResults(){var duration = Math.round((endTime --startTime)/ 1000); var bitsLoaded = downloadSize * 8 GO var speedBps = Math.round(bitsLoaded / duration)GO var speedKbps =(speedBps / 1024).toFixed(2)GO var speedMbps =(speedKbps / 1024).toFixed(2)GOアラート( "接続速度は次のとおりです:\ n" + speedBps + "bps \ n" + speedKbps + "kbps \ n" + speedMbps + " Mbps \ n ")GO}

ブラウザでページを開き、スクリプトが正しく機能することを確認するためにテストします。 メッセージボックスにテスト結果が表示されるまでに数秒かかる場合があります。

ヒント

JavaScriptは、Webページを表示しているコンピューターと、テストに使用された画像をホストしているサイトとの間の速度を測定します。 自分のWebサイトへの接続をテストしている場合は、自分のWebサイトで画像をホストします。 flickrやAmazonなど、十分な帯域幅と速度を備えたサイトでホストされているイメージにアドレスを提供して、一般的な接続速度をテストします。