JavaScript menyediakan cara untuk menganggar kelajuan internet pengguna, walaupun penting untuk ambil perhatian bahawa hasilnya mungkin tidak begitu tepat.
Konsep ini melibatkan memuatkan imej dengan saiz fail yang diketahui dan mengukur masa ia mengambil masa untuk memuatkan. Dengan membahagikan masa yang diambil dengan saiz fail imej dalam bait, anggaran kelajuan internet boleh diperolehi.
Contoh boleh didapati di pautan yang disediakan di bawah:
Kes ujian yang diubah suai ini menggabungkan pembetulan untuk menangani isu yang berpotensi:
// 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" ]); } }
Dalam HTML, masukkan elemen dengan ID "kemajuan":
<h1>
Atas ialah kandungan terperinci Bagaimana Saya Boleh Anggarkan Kelajuan Internet Saya Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!