Comment détecter la vitesse de connexion avec JavaScript

Ajoutez des balises de script de début et de fin dans la zone d'en-tête de la page Web (après la balise de début mais avant la balise de fin), par exemple :

Ajoutez le code suivant entre les balises de script de début et de fin, en remplaçant "myimage.jpg" par le nom de fichier de l'image que vous souhaitez utiliser pour le test de vitesse. La partie "?n=" + Math.random() de l'adresse qui est construite et attribuée à imageAddr incite le navigateur Web à récupérer l'image à chaque fois au lieu d'utiliser une version mise en cache localement. Utilisez une image avec une taille de fichier d'environ 200 kilo-octets.

Ajoutez le code suivant sur la ligne suivante du script pour créer les variables pour stocker l'heure de début, l'heure de fin et la taille de téléchargement du test. Définissez "downloadSize" sur la taille du fichier image en octets.

Ajoutez le code suivant pour configurer l'image qui sera téléchargée pour le test. « télécharger » est configuré en tant qu'objet Image. L'action pour capturer la fin du téléchargement est assignée pour s'activer lorsque le téléchargement de l'image est terminé.

Ajoutez la fonction suivante au script qui calcule affiche les résultats du test de vitesse. Tout d'abord, il calcule la durée, convertissant les millisecondes en secondes. Ensuite, il convertit la taille de téléchargement en bits, calcule la vitesse de téléchargement et convertit la vitesse en kbps et Mbps. Enfin, il affiche une boîte de message avec les résultats.

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) Alerte GO ("Votre vitesse de connexion est: \n" + speedBps + " bps\n" + speedKbps + " kbps\n" + speedMbps + " Mbits/s\n") GO }

Ouvrez la page dans votre navigateur et testez-la pour vous assurer que le script fonctionne correctement. Cela peut prendre quelques secondes pour que la boîte de message apparaisse avec les résultats du test.

Pointe

Le JavaScript mesure la vitesse entre l'ordinateur visualisant la page Web et le site hébergeant l'image utilisée pour le test. Si vous testez la connexion à votre propre site Web, hébergez l'image sur votre propre site Web. Testez la vitesse de connexion générale en fournissant l'adresse à une image hébergée sur un site avec beaucoup de bande passante et de vitesse comme flickr ou Amazon.