>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

Como detectar a velocidade da conexão com JavaScript


A velocidade de conexão é a taxa de fluxo de dados entre dois computadores em uma rede, como a Internet. A velocidade de conexão é medida em unidades de bits por segundo (bps), mas geralmente é expressa em kilobits (1024 bits) por segundo (kbps, típico para conexões de modem) ou megabits (1024 kilobits) por segundo (Mbps, típico para conexões de banda larga) . Criar uma página da web com JavaScript para medir e calcular a velocidade da conexão é uma ferramenta de administração útil para monitoramento de rede e conexão com a Internet que você pode executar diretamente no seu navegador da web. Você também pode usá-lo para detectar a conexão do visitante do seu site para decidir se deseja enviar a versão com uso intensivo de largura de banda ou a versão leve do seu conteúdo.

Etapa 1


Abra sua página da Web à qual deseja adicionar o JavaScript de detecção de velocidade de conexão em seu editor de texto.

Etapa 2


Adicione tags de script inicial e final na área do cabeçalho da página da web (após o início mas antes do final etiqueta), por exemplo:

Etapa 3


Adicione o seguinte código entre as tags de script inicial e final, substituindo "myimage.jpg" pelo nome do arquivo da imagem que você deseja usar para o teste de velocidade. A parte "?n=" + Math.random() do endereço que é construído e atribuído a imageAddr engana o navegador da Web para buscar a imagem todas as vezes em vez de usar uma versão em cache local. Use uma imagem com um tamanho de arquivo de aproximadamente 200 kilobytes.

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

Etapa 4


Adicione o código a seguir na próxima linha do script para criar as variáveis ​​para armazenar a hora de início, a hora de término e o tamanho do download do teste. Defina "downloadSize" para o tamanho do arquivo de imagem em bytes.

var startTime, endTime GO var downloadSize =200000;

Etapa 5


Adicione o código a seguir para configurar a imagem que será baixada para o teste. "download" é ​​configurado como um objeto Image. A ação para capturar o final do download é atribuída para ativar quando o download da imagem for concluído.

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

Etapa 6


Adicione o código a seguir que executa o teste de velocidade. A hora atual é capturada em startTime. O endereço da imagem que está sendo atribuído a download.src inicia o download da imagem.

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

Etapa 7


Adicione a seguinte função ao script que calcula a exibição dos resultados do teste de velocidade. Primeiro, ele calcula a duração, convertendo milissegundos em segundos. Em seguida, ele converte o tamanho do download em bits, calcula a velocidade do download e converte a velocidade em kbps e Mbps. Por fim, aparece uma caixa de mensagem com os resultados.

function showResults () { var duração =Math.round((endTime - startTime) / 1000); var bitsLoaded =downloadSize * 8 GO var speedBps =Math.round(bitsLoaded / duração) GO var speedKbps =(speedBps / 1024).toFixed(2) GO var speedMbps =(speedKbps / 1024).toFixed(2) GO alert (" A velocidade da sua conexão é:\n" + speedBps + " bps\n" + speedKbps + " kbps\n" + speedMbps + " Mbps\n") GO }

Etapa 8


Abra a página em seu navegador e teste-a para garantir que o script funcione corretamente. Pode levar alguns segundos para que a caixa de mensagem apareça com os resultados do teste.

Dica


O JavaScript mede a velocidade entre o computador que visualiza a página da web e o site que hospeda a imagem usada para o teste. Se você estiver testando a conexão com seu próprio site, hospede a imagem em seu próprio site. Teste a velocidade geral da conexão fornecendo o endereço de uma imagem hospedada em um site com muita largura de banda e velocidade, como flickr ou Amazon.