ciao raga...esiste uno script javascript che permette di determinare la velocità di connessione del client ed indirizzarlo di conseguenza alla versione leggera o pesante del sito? grazie in anticipo ciao.
ciao raga...esiste uno script javascript che permette di determinare la velocità di connessione del client ed indirizzarlo di conseguenza alla versione leggera o pesante del sito? grazie in anticipo ciao.
Puoi al massimo stimare il tempo impiegato per scaricare un'immagine di dimensioni conosciute...
var parte = new Date();
var myImg = new Image();
myImg.src = "http://www.server.it/immagine.jpg?rnd="+Math.random();
var fine = new Date();
alert("Tempo impiegato: "+(fine-parte));
ciao
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
ho provato a cambiare così, altrimenti dava sempre 0, ma non so se vada bene
codice:function Button1_onclick() { var parte = new Date(); var myImg = new Image(); myImg.onload = function() { var fine = new Date(); alert("Tempo impiegato: "+(fine - parte)); }; myImg.src = "/ProveNikon/img008.jpg?rnd="+Math.random(); }
Pietro
Ciao, l'idea di pietro è perfetta, ho fatto solo un'aggiunta:
Codice PHP:
function Button1_onclick(){
var velocita, //Salverò il dato della velocità in Kb al sec
pesoImg = 20; //Il peso dell'immagine in Kb
var parte = new Date();
var myImg = new Image();
myImg.onload = function(){
var fine = new Date();
//Dato che la Proporzione deve essere: Peso/KB : tempo in millisecondi = velocita/Kb : 60 * 1000
var velocita = pesoImg * 60 * 1000 / (fine - parte);
alert("Velocita' connessione: " + velocita+" Kb/s");
//TO DO: a questo punto scegli una soglia di peso e se la velocità è
//minore di quella soglia redirigi sul sito a peso leggero
};
myImg.src = "/images/history.png";
}
vediamo a quanto è la mia connessione adsl
aggiungo qualche piccola, insignificante modifica
Allora, in locale vado a 10 MB/s, fuori invece 517 kB/s (4136 kb/s) e, visto che ho una connessione da 4986 kbps, credo che i calcoli non siano così lontani dal vero.codice:function Button1_onclick() {//debugger; var img = "img008.jpg?rnd="+Math.random(); trova_velocita_connessione(img); } function trova_velocita_connessione(img) { var objHTTP = getXMLHttp(); objHTTP.open("HEAD", img, true); objHTTP.onreadystatechange = function() { if (objHTTP.readyState == 4) { if (objHTTP.status != 200) {alert("ERRORE NELLA TRASMISSIONE DATI!" + "\n\nreadyState:"+ objHTTP.readyState +"\nstatus: "+objHTTP.status + "\nstatusText: " + objHTTP.statusText + "\n\nheaders:\n"+ objHTTP.getAllResponseHeaders()); return;} var pesoImg = objHTTP.getResponseHeader("Content-Length"); var parte = new Date(); var myImg = new Image(); myImg.onload = function() { var fine = new Date(); var velocita = Math.round((pesoImg * 1000 / (fine - parte))/1024); var velocita1 = velocita * 8; alert("Velocita' connessione: " + velocita+" KB/s, " + velocita1 + " kb/s" ); //TO DO: a questo punto scegli una soglia di peso e se la velocità è //minore di quella soglia redirigi sul sito a peso leggero }; myImg.src = img; } }; objHTTP.send(null); function getXMLHttp() { var xmlhttp = null; if(window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); // Gecko (Firefox, Moz), KHTML (Konqueror, Safari), Opera, Internet Explorer 7 } else if(window.ActiveXObject) { try { xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); // Internet Explorer 6 } catch(e) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer 4,5 } } else { xmlhttp = null; } return xmlhttp; } }
Ciao
Pietro
cacchio........ ma cosa vuol dire tutto questo codice sei bravissimo ma io non riuscirò mai a decifrarlo
propongo il thread in rilievo
ci si potrebbe fare una classettina 'usefull' attorno con qualche altra funzioncina di contorno tipo OS,browser ecc..
Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle
il mio profilo su PHPClasses e il mio blog laboweb
ah ora ho capito si mangia e vai!!!! non si mangia? allora non ho proprio capito un usefull
grandi raga mi piacerebbe capirne 1/3 di quello che ne capite voi e mi sentirei superman!!!
Beh, Roma non è stata costruita in un giorno, e io è un bel po' di tempo che bazzico in questo forum ed ho pure la cattiva abitudine di leggere.Originariamente inviato da sitocenter
ah ora ho capito si mangia e vai!!!! non si mangia? allora non ho proprio capito un usefull
grandi raga mi piacerebbe capirne 1/3 di quello che ne capite voi e mi sentirei superman!!!
Per esempio, è di un post recente la soluzione per leggere la dimensione di una immagine tramite ajax, ed è quella che ho utilizzato.
Altro esempio, è stata posta qualche tempo fa la soluzione per richiamare immagini o altro con ajax col metodo get, per non avere problemi con la cache. Niente di eccezionale, ma era carina e l'ho utilizzata.
Comunque, se volete collaudarlo dalla rete, provate a questo indirizzo:
http://web.tiscali.it/archivio_esemp...onnessione.htm
A me sembra che funzioni.
Ciao
ps. ho utilizzato una immagine da 6M. Se avete una connessione da 56k dovete aspettare molto, molto, molto...., molto.
Pietro