08. juni 2001 - 13:17Der er
9 kommentarer og 1 løsning
Time, Minut, Sekund indsæt i JavaScript
På en HTML side bruger jeg dette JavaScript til at indlæse tiden lige nu. Scriptet er så genialt at sekunderne skifter, men hvis klientens ur ikke indstillet korrekt (eller bruger man Mac) er det ikke sikkert at der vises en korrekt tid. Spørgsmålet er så om man kan hente aktuel time, minut, samt sekund via ASP og indsætte i JavaScriptet så funktionen der gør, at uret går stadig virker...???
<p>Klokken er nu: <script> <!-- function show2(){ var Digital=new Date() var hours=Digital.getHours() var minutes=Digital.getMinutes() var seconds=Digital.getSeconds() var dn=\"\" if (hours>24){ dn=\"\" hours=hours-24 } if (hours==0) hours=24 if (minutes<=9) minutes=\"0\"+minutes if (seconds<=9) seconds=\"0\"+seconds var ctime=\"<b><font face=\'Verdana\' font size=\'1\' color=\'#000000\'>\"+hours+\":\"+minutes+\":\"+seconds+\" \"+dn+\"</font></b>\" if (!document.all) document.write(ctime) else tick2.innerHTML=ctime } function loadclock(){ if (document.all) setInterval(\"show2()\",1000) } if (!document.all) show2() //--> </script> </p>
asp afvikles jo på serveren som returnerer en side til dig! Når du får tiden ind via asp, så skal dokumentet vel requestes på serveren igen... funktionen bliver jo kaldt på klientmaskinen, men asp afvikles serverside! Dvs. 1) siden loades og var hours=<%=Hour(time)%> var minutes=<%=Minute(time)%> var seconds=<%=Second(time)%> sættes til servertiden 2) efter 1 sekund kaldes funktionen igen, men tiden vil være den samme som ved 1), da .asp siden ikke afvikles igen!
Så jeg tror ik\' du kan gøre det med .asp i en håndevending! Kan man ik\' via js synkronisere med nogle tidsservere på nettet?
hvis du skal ha en klokke som viser tiden løpende (sekund for sekund), så henter den den lokale tiden til clienten. En annen ting du kan prøve, er jo faktisk å sende servertiden som parameter til new Date() i javascriptet ditt:
var Digital=new Date(<%= now() %>);
På den måte så vil alle få vist den samme tid (din servertid) pluss delayet fra server til clienten...
function show2(){ var Digital = new Date(); Digital.setTime(Digital.getTime() + Diff); var hours=Digital.getHours() var minutes=Digital.getMinutes() var seconds=Digital.getSeconds()
var dn=\"\"
if (hours>24){ dn=\"\" hours=hours-24 }
if (hours==0) hours=24
if (minutes<=9) minutes=\"0\"+minutes
if (seconds<=9) seconds=\"0\"+seconds
var ctime=\"<b><font face=\'Verdana\' font size=\'1\' color=\'#000000\'>\"+hours+\":\"+minutes+\":\"+seconds+\" \"+dn+\"</font></b>\"
if (!document.all) document.write(ctime) else document.all.tick2.innerHTML=ctime
}
function loadclock(){ if (document.all) setInterval(\"show2()\",1000) }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.