JavaScript bietet eine Möglichkeit, die Internetgeschwindigkeit eines Benutzers abzuschätzen. Es ist jedoch wichtig zu beachten, dass die Ergebnisse möglicherweise nicht sehr genau sind.
Das Konzept beinhaltet das Laden eines Bildes mit einer bekannten Dateigröße und das Messen der Ladezeit. Durch Teilen der benötigten Zeit durch die Größe der Bilddatei in Bytes kann eine Schätzung der Internetgeschwindigkeit erhalten werden.
Ein Beispiel finden Sie unter dem unten angegebenen Link:
Dieser modifizierte Testfall enthält einen Fix zur Behebung eines potenziellen Problems:
// EXAMPLE ONLY. USE YOUR OWN IMAGE! var imageAddr = "https://upload.wikimedia.org/wikipedia/commons/3/3a/Bloemen_van_adderwortel_%28Persicaria_bistorta%2C_synoniem%2C_Polygonum_bistorta%29_06-06-2021._%28d.j.b%29.jpg"; var downloadSize = 7300000; // bytes function ShowProgressMessage(msg) { // Display progress messages on the console and a progress element on the page. if (console) { if (typeof msg == "string") { console.log(msg); } else { for (var i = 0; i < msg.length; i++) { console.log(msg[i]); } } } var oProgress = document.getElementById("progress"); if (oProgress) { oProgress.innerHTML = (typeof msg == "string") ? msg : msg.join("<br />"); } } function InitiateSpeedDetection() { ShowProgressMessage("Loading the image, please wait..."); window.setTimeout(MeasureConnectionSpeed, 1); }; if (window.addEventListener) { window.addEventListener('load', InitiateSpeedDetection, false); } else if (window.attachEvent) { window.attachEvent('onload', InitiateSpeedDetection); } 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; 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" ]); } }
Fügen Sie im HTML ein Element mit der ID „progress“ ein:
<h1>
Das obige ist der detaillierte Inhalt vonWie kann ich meine Internetgeschwindigkeit mithilfe von JavaScript schätzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!