JavaScript でインターネット速度を推定する方法
質問: ユーザーの速度を推定する JavaScript ページを作成するにはどうすればよいですか?インターネット速度を確認し、ページ?
答え:
Web アプリケーションでは制御できない要因があるため、ブラウザーでインターネット速度を正確に測定することは困難です。ただし、おおよその推定値は次の方法で取得できます。
例:
次の JavaScript コードは、 process:
// Image address and file size (in bytes) var imageAddr = "https://large-image-url"; var downloadSize = 7300000; // Function to show progress messages function ShowProgressMessage(msg) { // Display messages in the console and a UI element } // Function to initiate speed detection function InitiateSpeedDetection() { ShowProgressMessage("Loading image..."); window.setTimeout(MeasureConnectionSpeed, 1); } if (window.addEventListener) { window.addEventListener('load', InitiateSpeedDetection, false); } else if (window.attachEvent) { window.attachEvent('onload', InitiateSpeedDetection); } // Function to measure connection speed function MeasureConnectionSpeed() { var startTime, endTime; var download = new Image(); // Event listeners for load and error download.onload = showResults; download.onerror = function (err, msg) { ShowProgressMessage("Invalid image or error downloading"); }; startTime = (new Date()).getTime(); var cacheBuster = "?nnn=" + startTime; download.src = imageAddr + cacheBuster; // Function to show speed results function showResults() { endTime = (new Date()).getTime(); var duration = (endTime - startTime) / 1000; var bitsLoaded = downloadSize * 8; var speedBps = (bitsLoaded / duration).toFixed(2); var speedKbps = (speedBps / 1024).toFixed(2); var speedMbps = (speedKbps / 1024).toFixed(2); ShowProgressMessage([ "Your connection speed is:", speedBps + " bps", speedKbps + " kbps", speedMbps + " Mbps" ]); } }
注:
以上がJavaScript を使用してインターネット速度を推定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。