2009-05-20 10 views
5

Come calcolare approssimativamente la velocità di connessione di un sito Web utilizzando JavaScript?Come calcolare approssimativamente la velocità di connessione di un sito Web utilizzando JavaScript?

Voglio creare un widget javascript come, che calcolerà la velocità di apertura della pagina aperta corrente.

Sto chiedendo se questo può essere fatto utilizzando solo javascript e quale sarà l'idea.

Aggiornamento

Si noti che la dimensione della pagina è sempre sconosciuta.

risposta

11

Here s' un esempio utilizzando AJAX con .Net backend, anche se potrebbe essere qualsiasi cosa.

Here è un esempio più semplice utilizzando un'immagine.

La chiave è avere una pagina/oggetto di una dimensione nota e catturare l'ora di inizio e di fine mentre il browser la recupera. Quindi dividere semplicemente la dimensione di [unità di tempo] per ottenere [dimensione] per [unità di tempo]. Quindi usa la matematica per tradurre questo in quello che vuoi.

+0

Questa è la risposta corretta. –

-2

Sicuro.

<script> 
    startTime = Date.now(); 
    window.onload = function(){ 
     endTime = Date.now(); 
     //Time in ms between opening page, and loading all the date 
     alert(endTime - startTime) 
    }; 
</script> 

Ora per approssimare la velocità. Staticamente sai che diciamo che la pagina è 200kb.

var kbps = 200/(endTime - startTime * 1000); 
+0

e se non so qual è la dimensione della pagina in kb, posso usare anche js? –

+0

Javascript non ha modo di controllare le dimensioni dei file delle pagine, quindi dovrei dire di no. –

+3

Questo non ti darà la velocità di connessione. Questo ti dà il tempo di caricamento della pagina per renderizzare. – epascarello

Problemi correlati