Cómo detectar la velocidad de conexión con JavaScript

Agregue etiquetas de secuencia de comandos de inicio y finalización en el área del encabezado de la página web (después de la etiqueta de inicio pero antes de la etiqueta de finalización), por ejemplo:

Agregue el siguiente código entre las etiquetas de secuencia de comandos inicial y final, reemplazando "myimage.jpg" con el nombre de archivo de la imagen que desea usar para la prueba de velocidad. La parte "? N =" + Math.random () de la dirección que se crea y se asigna a imageAddr engaña al navegador web para que obtenga la imagen cada vez en lugar de usar una versión almacenada en caché local. Utilice una imagen con un tamaño de archivo de aproximadamente 200 kilobytes.

Agregue el siguiente código en la siguiente línea del script para crear las variables para almacenar la hora de inicio, la hora de finalización y el tamaño de descarga de la prueba. Establezca "downloadSize" en el tamaño del archivo de imagen en bytes.

Agregue el siguiente código para configurar la imagen que se descargará para la prueba. "descargar" se configura como un objeto de imagen. La acción para capturar el final de la descarga se asigna para activarse cuando se completa la descarga de la imagen.

Agregue la siguiente función al script que calcula y muestra los resultados de la prueba de velocidad. Primero, calcula la duración, convirtiendo milisegundos en segundos. A continuación, convierte el tamaño de descarga a bits, calcula la velocidad de descarga y convierte la velocidad a kbps y Mbps. Finalmente, aparece un cuadro de mensaje con los resultados.

function showResults () {var duración = Math.round ((endTime - startTime) / 1000); var bitsLoaded = downloadSize * 8 GO var speedBps = Math.round (bitsLoaded / duración) GO var speedKbps = (speedBps / 1024) .toFixed (2) GO var speedMbps = (speedKbps / 1024) .toFixed (2) GO alert ("Su velocidad de conexión es: \ n" + speedBps + "bps \ n" + speedKbps + "kbps \ n" + speedMbps + " Mbps \ n ") IR}

Abra la página en su navegador y pruébela para asegurarse de que el script funcione correctamente. Es posible que el cuadro de mensaje tarde unos segundos en aparecer con los resultados de la prueba.

Propina

El JavaScript mide la velocidad entre la computadora que ve la página web y el sitio que aloja la imagen utilizada para la prueba. Si está probando la conexión a su propio sitio web, aloje la imagen en su propio sitio web. Pruebe la velocidad de conexión general proporcionando la dirección de una imagen alojada en un sitio con mucho ancho de banda y velocidad, como flickr o Amazon.