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
822 visualizaciones desde el 11 de Julio del 2016. Una media de 42 por semana
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
823 visualizaciones desde el 11 de Julio del 2016. Una media de 42 por semana
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

http://lwp-l.com/s3595