Código de JavaScript - Detectar la velocidad de descarga de nuestra linea

Imágen de perfil

Detectar la velocidad de descarga de nuestra lineagráfica de visualizaciones


JavaScript

Publicado el 11 de Julio del 2016 por Administrador (718 códigos)
4.796 visualizaciones desde el 11 de Julio del 2016
Este código muestra como detectar la velocidad de descarga de nuestra linea de internet.

El código funciona descargando una imagen de internet de unos 5Mb y calculando el tiempo que tarda en descargarse en el navegador.

Hay que tener en cuenta, que la velocidad de descarga puede variar dependiendo del ancho de banda que se este utilizando por otras aplicaciones u ordenadores conectados a la red.

Versión 1.0

Publicado el 11 de Julio del 2016gráfica de visualizaciones de la versión: Versión 1.0
4.797 visualizaciones desde el 11 de Julio del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella


Forma parte de Como detectar la velocidad de descarga
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html>
<head>
<script>
	//Esta imagen es de ejemplo... para producción, poner una propia en vuestro servidor
	var imageAddr = "http://www.kenrockwell.com/contax/images/g2/examples/31120037-5mb.jpg";
	var downloadSize = 4995374; //bytes
 
	function ShowProgressMessage(msg) {
		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) {
			var actualHTML = (typeof msg == "string") ? msg : msg.join("<br />");
			oProgress.innerHTML = actualHTML;
		}
	}
 
	function InitiateSpeedDetection() {
		ShowProgressMessage("Cargando la imágen...");
		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("Imagen incorrecta o error en la descarga");
		}
 
		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([
				"La velocidad de tu conexión es de:",
				speedBps + " bps",
				speedKbps + " kbps",
				speedMbps + " Mbps"
			]);
		}
	}
</script>
</head>
 
<body>
<div id="progress"></div>
 
</body>
</html>



Comentarios sobre la versión: Versión 1.0 (0)


No hay comentarios
 

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3595