webForumDet fria alternativet

Webbaserad dynamisk tid

Webbutveckling

6 svar · 238 visningar · startad av cyprys

Medlem sedan dec. 20003 563 inlägg
Frågan#1

Kan man på sin sida använda serverns klocka, fast uppdatera den varje sekund?

Javascript använder ju klientens klocka medans man inte kan få asp-klockan att ticka på utan att ladda om. Finns det något smidigt sätt att lösa detta på?

Medlem sedan sep. 20005 700 inlägg
#2

Det är väl bara skicka med serverns klocka till ett javascript?

Medlem sedan dec. 20003 563 inlägg
#3

Exempel?

Skall man definera en starttid och sedan köra javascriptet med intervallet 1000 ms. Min tanke är sådan.
Men hur ser detta ut i praktiken.

Jag har en känsla att man kommer få problem på den vägen...
Ni får väldigt gärna bevisa att jag har fel. ;)

Medlem sedan sep. 20005 700 inlägg
#4

Ja, min tanke är att man definierar en starttid. Sen får man väl knåpa ihop en enkel klocka i javascript där man anger en starttid och där javascriptet sedan fortsätter att räkna klockan från denna tid.

Medlem sedan dec. 20003 563 inlägg
#5

Nu jäklar..
Efter att ha konverterat php-kod, studerat jscript hos msdn, googlat som en tok och kommit i kontakt med UNIX TimeStamp har jag en fungerande kod...

<html>
<head>
<script language="Text/Javascript">
	var datumServer = new Date(<%=year(Now)%>,<%=month(Now)-1%>,<%=day(Now)%>,<%=hour(Now)%>,<%=minute(Now)%>,<%=second(Now)%>);
	var datumStart = new Date();

	function ticktack()
	{
	    var datumNu = new Date();
	    document.getElementById('klocka').value = new Date(datumServer.valueOf() + (datumNu.valueOf() - datumStart.valueOf())).toLocaleTimeString();
	    document.getEl(ticktack()', 1000);
	}
</script>
</head>
<body onload="ticktack()">
<input type="text" id="klocka">
</body> 
</html>
Medlem sedan sep. 20005 700 inlägg
#6

Snyggt :)

Medlem sedan juni 20008 205 inlägg
#7

Om man inte vill använda en <input> för att visa finns ett liknande script på http://www.dsv.su.se/~gustaf-c/lekstuga/clock.html
Använder iofs inte serverns klockslag, men det borde vara lätt åtgärdat genom att pilla på generateTime :)

243 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)