使用 JavaScript 偵測網路速度
許多應用程式需要能夠測量使用者的網路速度。雖然它並不總是準確,但它可以提供有關用戶連接情況的有用指示。
方法
解決方案包括載入已知檔案大小的影像並計算速度基於載入所需的時間。這是透過以下方式完成的:
範例
以下程式碼提供了此方法的實作方法:
var imageAddr = "https://example.com/image.png"; var downloadSize = 7300000; //bytes function MeasureConnectionSpeed() { var startTime, endTime; var download = new Image(); download.onload = function () { endTime = (new Date()).getTime(); 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 showResults() { var duration = (endTime - startTime) / 1000; //seconds 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:"); ShowProgressMessage(speedBps + " bps"); ShowProgressMessage(speedKbps + " kbps"); ShowProgressMessage(speedMbps + " mbps"); } }
以上是如何使用 JavaScript 測量網路速度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!