webForumDet fria alternativet

Hur gör man om?

11 svar · 318 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1
tydalMedlem sedan juni 20034 013 inlägg
#2

Javaskript körs på besökarens dator och den har därför bara tillgång till besökarens klocka. Asp/php körs på servern och har därför bara tillgång till serverns klocka. Men resultatet från asp/php-sidan skickas inte till besökaren förrän skriptet har körts färdigt, så du kan inte få klockan att gå...

AsaMedlem sedan dec. 20011 860 inlägg
#3

Aha, okej! Jobbigt .... :( Så detta kan då inte fixas.. trist.

JosefMedlem sedan mars 20023 561 inlägg
#4

Men du borde väl kunna skicka med serverns tid som en variabel till javascriptet som sedan visar tiden efter den variabeln?

dectgapMedlem sedan sep. 20021 655 inlägg
#5

Om du använder PHP kan du skriva:

<span id="klocka"></span>

<script language="JavaScript">
var serverTid = <?=time()?>000;
var elementId = "klocka";
function clock(){
	if (document.layers || document.all || document.getElementById){
		serverTid += 1000;
		now = new Date(serverTid);
		h = "0" + now.getHours();
		h = h.substring(h.length-2, h.length);
		min = "0" + now.getMinutes();
		min = min.substring(min.length-2, min.length);
		sec = "0" + now.getSeconds();
		sec = sec.substring(sec.length-2, sec.length);
		time = " " + h + ":" + min + ":" + sec;
		if(document.layers){
			with (document[elementId].document){
				open();
				write(time);
				close();
			}
		} else if (document.all){
			document.all[elementId].innerHTML = time;
		} else if (document.getElementById){
			jxdocrange = document.createRange();
			jxdocrange.setStartBefore(document.getElementById(elementId));
			while (document.getElementById(elementId).hasChildNodes()){
				document.getElementById(elementId).removeChild(document.getElementById(elementId).lastChild);
			}
			document.getElementById(elementId).appendChild(jxdocrange.createContextualFragment(time));
		}
		setTimeout("clock()", 1000);
	}
}
setTimeout("clock()", 1000);
</script>

Hur motsvarande kod ser ut i VBScript vet jag inte, men det jag antar att det finns någon funktion för att få ut UNIX timestamp.

AsaMedlem sedan dec. 20011 860 inlägg
#6

Funkar ej! http://www.chippiland.com/pc.asp

J.N.Medlem sedan apr. 20031 660 inlägg
#7

HEJ!

dectgap skrev:
Om du använder PHP kan du skriva:

<?=time()?> ÄR php.
pc.asp är VB!

AsaMedlem sedan dec. 20011 860 inlägg
#8

Åhh, haha...

AsaMedlem sedan dec. 20011 860 inlägg
#9

Hur gör man i asp då? Får ej till det...

dectgapMedlem sedan sep. 20021 655 inlägg
#10

Använder man VBScript får man ersätta

var serverTid = <?=time()?>000;

med

var serverTid = <%=FunktionSomSkriverUtUnixTimestamp()%>000;

Kolla efter i ASP-forumet om någon kan svara på vilken funktion (som skriver ut antalet sekunder sedan 1 januari 1970) det handlar om..

EDIT
Testa följande:

var serverTid = <%=DateDiff("s", "01/01/1970 00:00:00", Now())%>000;
ampyMedlem sedan feb. 20011 498 inlägg
#11

Detta har jag frågat om tidigare (samma script):

http://www.webforum.nu/showthread.php?s=&forumid=24&threadid=41993

AsaMedlem sedan dec. 20011 860 inlägg
#12

Tackar! :) Sökte kanske lite dåligt...

129 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)