Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    velocità di connessione del client

    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.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    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

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    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

  4. #4
    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";
                    


  5. #5
    grazie raga siete fantastici ora lo provo...

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    vediamo a quanto è la mia connessione adsl
    aggiungo qualche piccola, insignificante modifica

    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;
        }
    
    }
    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.


    Ciao
    Pietro

  7. #7
    cacchio........ ma cosa vuol dire tutto questo codice sei bravissimo ma io non riuscirò mai a decifrarlo

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    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

  9. #9
    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!!!

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    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!!!
    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.

    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.