Como detectar a velocidade de conexão com JavaScript

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

Adicione o seguinte código entre as tags de script inicial e final, substituindo "myimage.jpg" pelo nome do arquivo da imagem que deseja usar para o teste de velocidade. A parte "? N =" + Math.random () do endereço que é construída e atribuída a imageAddr engana o navegador da web para obter 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.

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

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

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 de download e converte a velocidade em kbps e Mbps. Por fim, é exibida uma caixa de mensagem com os resultados.

função showResults () {var duration = 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) Alerta GO ("Sua velocidade de conexão é: \ n" + speedBps + "bps \ n" + speedKbps + "kbps \ n" + speedMbps + " Mbps \ n ") GO}

Abra a página em seu navegador e teste-a para verificar se o script funciona corretamente. Pode demorar 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 de conexão fornecendo o endereço para uma imagem hospedada em um site com bastante largura de banda e velocidade, como flickr ou Amazon.