e hai ragione, i timer javascript non possono essere precisi, devi compensare una nuova data del client ad ogni tick del timer
e hai ragione, i timer javascript non possono essere precisi, devi compensare una nuova data del client ad ogni tick del timer
Cioe?! Mi sono un po confuso con il compensare
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
Prima di tutto devi capire se ti serve assolutamente la data e l'ora del sever aggiornata al secondo se è questo quello che ti serve devi proseguire facendo chiamate Ajax tenendo in considerazione lo stress che questo ne comporta, se invece ti occorre un datario con orologio poi benissimo trovare qualche migliaio di script in reteOriginariamente inviato da torrone
Cioe?! Mi sono un po confuso con il compensare![]()
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
eh vorrei evitare di prendere uno script già fatto e volevo un attimo capire come costruirlo!Originariamente inviato da cavicchiandrea
Prima di tutto devi capire se ti serve assolutamente la data e l'ora del sever aggiornata al secondo se è questo quello che ti serve devi proseguire facendo chiamate Ajax tenendo in considerazione lo stress che questo ne comporta, se invece ti occorre un datario con orologio poi benissimo trovare qualche migliaio di script in rete![]()
![]()
eh vorrei evitare di prendere uno script già fatto e volevo un attimo capire come costruirlo! h vorrei evitare di prendere uno script già fatto e volevo un attimo capire come costruirlo!
allora, io vorrei la data del server (stressa cos tanto il server una chiamata ajax per recuperare solo l'ora? )
cosi anzichè richiamare ogni volta una pagina esterna con la data aggiorno sempre una funzione (stressa allo stesso modo il server?)
codice:$(document).ready(function() { var h = 17; // orario a caso per vedere se funziona var m = 30; // minuti a caso var s = 00; // secondi a caso function mytime() { // aggiungo 1 secondo s = s + 1; // passati 60 secondi aggiungo 1 minuto e azzero i secondi if(s==60) { m = m+1; s=0; } //passati 60 minuti aggiungo 1 ora e azzero i minuti if(m==60) { h = h+1; m = 0; } //passate 24 ore azzero le ore if(h==24){ h = 0; } sec = s; min = m; hour = h; // le rendo nel formato 00:00:00 if(s<=9) sec="0"+s; if(m<=9) min="0"+m; if(h<=9) hour="0"+h; time=hour+":"+min+":"+sec; document.getElementById("dataServer").innerHTML=time; setTimeout("mytime()",1000); } window.mytime = mytime; /*mytime();*/ come mai richiamandola solo cosi la data non si aggiorna? });
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
Eh, non importa che stai chiedendo soltanto l'ora, è pur sempre una chiamata http al secondo.
Fai come dice Xinod, hai la data del server, e la fai incrementare tu, e ogni, che ne so, 5 minuti, fai una chiamata al server e aggiorni l'ora con quella, e da lì incrementi nuovamente tu per 5 minuti via client. oppure calcoli la differenza dei 2 timestamp e da lì chiedi l'ora del client e sommi con la differenza
ok il concetto l'ho capito.Originariamente inviato da Laurianti
Eh, non importa che stai chiedendo soltanto l'ora, è pur sempre una chiamata http al secondo.
Fai come dice Xinod, hai la data del server, e la fai incrementare tu, e ogni, che ne so, 5 minuti, fai una chiamata al server e aggiorni l'ora con quella, e da lì incrementi nuovamente tu per 5 minuti via client. oppure calcoli la differenza dei 2 timestamp e da lì chiedi l'ora del client e sommi con la differenza
apro una pagina, e al primo avvio carico l'ora del server, poi con javascript incremento l'ora, e ogni tot minuti richiamo l'ora del server e riparto...
qual'è il metodo migliore per chiamare l'ora dal server? e poi lavorarci con jquery/javascript?
io ho una pagina (appunto dataServer.php) dove quando chiamata posso avere recuperare la data anche in json o come preferisco...
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
allora ecco una porzione di codice che ho appena buttato giù.
Recupero la data del server con una chiamata ajax e recupero appunto i dati con json poi con la funzione che avevo fatto prima (aggiustata un pò) aggiorno la data in tempo reale.
Sembra sia corretto, o sbaglio?
Mi manca ora che ogni per esempio 5/10 minuti la data del server venga richiamata nuovamente, come potrei fare?
codice:$(document).ready(function() { var dati = 0; $.ajax({ type: "POST", url: "../varie/dataServer.php", data: dati, dataType: "html", success: function(json) { json = $.parseJSON(json); if (parseInt(json.risposta) == 1) { // recupero tramite json l'orario del server h = json.h; m = json.m; s = json.s; // funzione per la data in tempo reale function dateTime() { s = 1 + +s; if(s==60) { m = 1 + +m; s=0; } if(m==60) { h = 1 + +h; m = 0; } if(h==24){ h = 0; } sec = s; min = m; hour = h; if(s<=9) sec="0"+s; if(m<=9) min="0"+m; if(h<=9) hour="0"+h; time=hour+":"+min+":"+sec; $("#dataServer").html(time); setTimeout("dateTime()", 1000); } window.dateTime = dateTime; dateTime(); } else { $("#dataServer").html("Si è verificato un errore"); } }, error: function() { alert("Errore Ajax"); } }); });
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati