Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: JavaScript: Javascript kello

jarspa [26.02.2006 09:37:54]

#

Miten saan tämän toimimaan niin että se näyttää servukoneen ajan eikä sen koneen millä sivua katson? Nyt mun mielestäni se menee samaa tahtia sekunnilleen kuin oma koneeni kello vaikka sivusto on eri koneella...

<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Beginning of JavaScript -

var timerID = null;
var timerRunning = false;
var id,pause=0,position=0;

function stopclock (){
        if(timerRunning)
                clearTimeout(timerID);
        timerRunning = false;
}

function showtime () {
        var now = new Date();
        var hours = now.getHours();
        var minutes = now.getMinutes();
        var seconds = now.getSeconds()
        var timeValue = "" + ((hours >12) ? hours -12 :hours)
        timeValue += ((minutes < 10) ? ":0" : ":") + minutes
        timeValue += ((seconds < 10) ? ":0" : ":") + seconds
        timeValue += (hours >= 12) ? " P.M." : " A.M."
        document.clock.face.value = timeValue;
        timerID = setTimeout("showtime()",1000);
        timerRunning = true;
}
function startclock () {
        stopclock();
        showtime();
}

// - End of JavaScript - -->

</SCRIPT>
</HEAD>

<body onLoad="startclock()">

<!-- Comments --!
1. To add a clock to your page, add the onLoad="startclock()" to the <BODY>
   tag. You can also have additional values in the tag, as above.
   e.g. <BODY BGCOLOR="#FFFFFF" VLINK="#000000" onLoad="startclock()">

2. Put the lines below wherever you want the clock to appear on your page. -->

<form name="clock" onSubmit="0">
<input type="text" name="face" size=13 value="">

</BODY>

</HTML>

Sami [26.02.2006 11:53:24]

#

Javascript suoritetaan vasta käyttäjän koneella, eikä se (tietääkseni) ole missään yhteydessä enää serverin kanssa, joten serveriltä et saa päivitettyä sitä aikaa pelkällä javascriptillä.

Pari mahdollisuutta siihen serverin kellon näyttämiseen kuitenkin saattaisi olla, mutta järkevyydestä en mene takuuseen:
1) Ota aluksi aika serveriltä ja käytä javascriptiä päivittämään kelloa sekunnin välein käyttäjän kellon mukaan (toisin sanoen katsot aluksi mikä on aikaero ja pidät koko ajan aikaeron samana).
2) Päivitä kellon sisältävää osaa sivusta joka sekunti ja ota aika serveriltä.

jarspa [27.02.2006 21:58:33]

#

No voe hel...

Meitsi [27.02.2006 22:00:45]

#

Sami kirjoitti:

Javascript suoritetaan vasta käyttäjän koneella, eikä se (tietääkseni) ole missään yhteydessä enää serverin kanssa, joten serveriltä et saa päivitettyä sitä aikaa pelkällä javascriptillä.

Pari mahdollisuutta siihen serverin kellon näyttämiseen kuitenkin saattaisi olla, mutta järkevyydestä en mene takuuseen:
1) Ota aluksi aika serveriltä ja käytä javascriptiä päivittämään kelloa sekunnin välein käyttäjän kellon mukaan (toisin sanoen katsot aluksi mikä on aikaero ja pidät koko ajan aikaeron samana).
2) Päivitä kellon sisältävää osaa sivusta joka sekunti ja ota aika serveriltä.

Ei ole varmaankaan kovin tarkka kello koska kyllä se sivun siirtäminen kuitenkin hetkisen vie, ainakin jos serverillä on ruuhkaa. Ja kerran sekunnissa sivunlatauskin jo hieman serveriä kuormittaa.

Draiz [28.02.2006 21:06:32]

#

Jos serveri tukee PHP:tä, niin aika kannattaa printata sillä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta