>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Como Detectar Velocidade de Conexão com JavaScript

Velocidade de conexão é a taxa de fluxo de dados entre dois computadores em uma rede, como a Internet. Medida em bits por segundo (bps), geralmente expressa em kilobits por segundo (kbps, típico para modem) ou megabits por segundo (Mbps, típico para banda larga). Criar uma página web com JavaScript para medir e calcular a velocidade é uma ferramenta útil de administração para monitoramento de rede que roda no navegador. Também pode detectar a conexão do visitante para decidir enviar versão pesada ou leve do conteúdo.

Passo 1

Abra a página web onde deseja adicionar o JavaScript de detecção de velocidade no seu editor de texto.

Passo 2

Adicione tags de script de abertura e fechamento na área do cabeçalho (após a tag inicial mas antes da tag final), por exemplo:

Passo 3

Adicione o seguinte código entre as tags de script, substituindo "minhaimagem.jpg" pelo nome do arquivo de imagem para o teste de velocidade. A parte "?n=" + Math.random() no endereço engana o navegador para buscar a imagem a cada vez em vez de usar versão em cache. Use imagem de aproximadamente 200 kilobytes.

var imageAddr = "minhaimagem.jpg" + "?n=" + Math.random() ;

Passo 4

Adicione na próxima linha do script para criar variáveis de tempo de início, fim e tamanho do download. Defina "downloadSize" como o tamanho do arquivo em bytes.

var startTime, endTime GO var downloadSize = 200000 ;

Passo 5

Adicione código para configurar a imagem a ser baixada. "download" é configurado como objeto Image. A ação para capturar fim do download é atribuída para ativar quando o download da imagem completar.

var download = new Image() ;
download.onload = function() {
endTime = (new Date()).getTime() ;
showResults () GO }

Passo 6

Adicione código que executa o teste de velocidade. O tempo atual é capturado em startTime. O endereço da imagem atribuído a download.src inicia o download.

startTime = (new Date()).getTime() ; download.src = imageAddr ;

Passo 7

Adicione a função que calcula e exibe resultados. Primeiro calcula duração convertendo milissegundos para segundos. Depois converte tamanho para bits, calcula velocidade e converte para kbps e Mbps. Finalmente exibe caixa de mensagem com resultados.

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 ("Sua velocidade de conexão é: \n" + speedBps + " bps\n" + speedKbps + " kbps\n" + speedMbps + " Mbps\n") GO }

Passo 8

Abra a página no navegador e teste para garantir que o script funciona. Pode levar alguns segundos para a caixa de mensagem aparecer com resultados.

Dica

O JavaScript mede velocidade entre o computador visualizando a página e o site hospedando a imagem de teste. Se testando conexão com seu próprio site, hospede a imagem nele. Teste velocidade geral fornecendo endereço de imagem hospedada em site com muita banda como Flickr ou Amazon.