Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Originariamente inviato da fcaldera
    per caso il file di cui vuoi controllare la data di ultima modifica si trova nella stesso dominio dello script oppure in un dominio differente?

    Nel secondo caso è normale che non funzioni, ajax non consente richieste cross-domain
    No, erano nella stessa cartella, Ho sostituito "null" al posto di "undefined" ed ora funziona. Quello che manca ora è la seconda parte dello script ovvero se il file di cui si controlla la data è stato modificato da 3 secondi aggiorna la pagina...
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  2. #12
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    A questo punto trasformi la data di modifica del file e la data attuale in millisecondi così:

    codice:
    var datelm = (new Date(getLastModified("file.ext"))).getTime();
    var datenow = (new Date()).getTime();
    e infine controlli che la differenza tra le due variabili non sia superiore a 3000 (ovvero 3 secondi)
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #13
    c'è un altro problema...La prima funzione getLastModified Mi dà l'orario in GMT (fuso orario di Greenwich). Mentre invece "newDate()" prende la data dal mio PC, che ha il fuso dell'italia (un'ora in più)...e inoltre ci sono anche 10 minuti buoni di differenza...questo vuol dire che la data dell'ultima modifica cambierebbe da PC a PC (visto che penso un po' tutti gli orologi differiscano di qualche minuto)

    Che fare??
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  4. #14
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    l'unica sarebbe quella di leggere l'ora del server, ma per farlo dovresti appoggiarti ad un linguaggio lato server visto che javascript non può accedere a questa informazione (essendo lato client)
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #15
    ...e si ritornerebbe al problema di prima (cioè dover riaggiornare ogni volta la pagina)...ora voglio controllare una cosa comunque, speriamo bene...
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  6. #16
    Ajax però lo fa in qualche modo...non si potrebbe ottenere l'orario attuale utilizzando uno script ajax?? (Perdonatemi se ho scritto qualche stupidaggine...)
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  7. #17
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    si, infatti

    prima devi crearti uno script php o asp che ti restituisce unicamente la data corrente del server

    poi esattamente come nel codice che rileva il last-modified fai un'altra chiamata (stavolta con metodo GET anzichè HEAD)
    in cui chiami il file php.

    Ti fai restituire il risultato dell'esecuzione dello script remoto (ovvero la data nel formato Wed, 25 Jan 2006....) attraverso il metodo responseText
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #18
    Per script che mi restituisce la data, tu intendi qualcosa del genere??

    <?
    $data=date("D, j M Y G:i:s T");
    print $data;
    ?>

    NB: la stringa che ho usato nella funzione date restituisce la data con la stessa impostazione con cui lo fa il javascript creato fino ad ora.

    Oppure utilizzando la funzione time()? (che mi da un valore numerico)

    Però non ho capito esattamente cosa fare, un esempio sarebbe gradito (ripeto, e mi scuso ancora, ma non so nulla di quello che sto maneggiando al momento quindi vi chiedo di essere pazienti )
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  9. #19
    up
    The gate to tomorrow is not the light of heaven but the darkness in the depth of the earth

  10. #20
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    si, lo script lato server va bene

    da javascript lo ottieni sempre nel modo di prima

    codice:
    function getServerDate() {        
           
        if (typeof XMLHttpRequest != "undefined") {
            xhr = new XMLHttpRequest();
        }
        else {
            try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                } 
                catch (e) {
                    xhr = null;
                }
            }
        }        
            
        if (xhr != null) {        
                
            xhr.open("GET", "nomescript_data.php", false);         
            xhr.send(null);
                
            if ((xhr.status == 200) || ((xhr.status == 304))) {
                return xhr.responseText;            
            }
        }       
    
        return "";
    }
    
    alert(getServerDate());
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.