Как определить скорость соединения с помощью JavaScript
Скорость соединения — это скорость передачи данных между двумя компьютерами в сети, например в Интернете. Скорость соединения измеряется в битах в секунду (бит/с), но обычно указывается в килобитах (1024 бита) в секунду (кбит/с, типично для модемных соединений) или мегабитах (1024 килобита) в секунду (Мбит/с, типично для широкополосных соединений) . Создание веб-страницы с помощью JavaScript для измерения и расчета скорости соединения — это полезный инструмент администрирования для мониторинга сети и интернет-соединения, который вы можете запустить прямо в своем веб-браузере. Вы также можете использовать его для обнаружения подключения посетителя вашего веб-сайта, чтобы решить, следует ли отправлять ресурсоемкую или облегченную версию вашего контента.
Шаг 1
Откройте веб-страницу, на которую вы хотите добавить JavaScript для определения скорости соединения, в текстовом редакторе.
Шаг 2
Добавьте начальный и конечный теги script в область заголовка веб-страницы (после начального Тег
, но перед окончанием тег), например:Шаг 3
Добавьте следующий код между начальным и конечным тегами сценария, заменив «myimage.jpg» именем файла изображения, которое вы хотите использовать для теста скорости. Часть адреса "?n=" + Math.random(), которая создается и назначается для imageAddr, заставляет веб-браузер каждый раз получать изображение вместо использования локально кэшированной версии. Используйте изображение с размером файла примерно 200 килобайт.
var imageAddr ="myimage.jpg" + "?n=" + Math.random();
Шаг 4
Добавьте следующий код в следующую строку скрипта, чтобы создать переменные для хранения времени начала теста, времени окончания и размера загрузки. Задайте для параметра "downloadSize" размер файла изображения в байтах.
var startTime, endTime GO var downloadSize =200000;
Шаг 5
Добавьте следующий код, чтобы настроить изображение, которое будет загружено для теста. «загрузка» настроена как объект изображения. Действие по захвату конца загрузки назначено для активации после завершения загрузки изображения.
var загрузки =новое изображение ();
download.onload =функция () {
endTime =(новая дата()).getTime();
показатьрезультаты () GO
Шаг 6
Добавьте следующий код, который запускает тест скорости. Текущее время фиксируется в startTime. Адрес изображения, присвоенный файлу download.src, запускает загрузку образа.
startTime =(новая дата()).getTime(); download.src =imageAddr;
Шаг 7
Добавьте в скрипт следующую функцию, которая вычисляет результаты теста скорости. Во-первых, он вычисляет продолжительность, конвертируя миллисекунды в секунды. Затем он преобразует размер загрузки в биты, вычисляет скорость загрузки и преобразует скорость в кбит/с и Мбит/с. Наконец, появляется всплывающее окно с результатами.
function showResults () { var duration =Math.round((endTime - startTime) / 1000); var bitsLoaded =downloadSize * 8 GO var speedBps =Math.round(bitsLoaded/duration) GO var speedKbps =(speedBps / 1024).toFixed(2) GO var speedMbps =(speedKbps / 1024).toFixed(2) GO alert (" Ваша скорость соединения:\n" + speedBps + " bps\n" + speedKbps + " kbps\n" + speedMbps + " Mbps\n") GO
Шаг 8
Откройте страницу в браузере и протестируйте ее, чтобы убедиться, что скрипт работает правильно. Может пройти несколько секунд, прежде чем появится всплывающее окно с результатами теста.
Совет
JavaScript измеряет скорость между компьютером, просматривающим веб-страницу, и сайтом, на котором размещено изображение, используемое для теста. Если вы тестируете подключение к своему веб-сайту, разместите изображение на своем веб-сайте. Проверьте общую скорость соединения, указав адрес изображения, размещенного на сайте с достаточной пропускной способностью и скоростью, например на flickr или Amazon.