Cara Anggarkan Kelajuan Internet dalam JavaScript
Soalan: Bagaimana saya boleh membuat halaman JavaScript yang menganggarkan pengguna kelajuan internet dan memaparkannya pada halaman?
Jawapan:
Adalah mencabar untuk mengukur kelajuan internet dengan tepat dalam penyemak imbas kerana faktor di luar kawalan aplikasi web. Walau bagaimanapun, anggaran anggaran boleh diperoleh dengan:
Contoh:
Kod JavaScript berikut menunjukkan proses:
// 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" ]); } }
Nota:
Atas ialah kandungan terperinci Bagaimana Saya Boleh Anggarkan Kelajuan Internet Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!