Avatar billede kak Nybegynder
09. september 2002 - 12:34 Der er 11 kommentarer og
1 løsning

Tid fra server via JavaScript

Jeg har et javascript, der finder den aktuelle dato. Men JavaScript tager jo datoen fra klienten og ikke fra serveren. Kan man ændre det?

Jeg har forsøgt med <script language=JScript runat=Server> i stedet for <script language=JScript> men så får jeg en sciptfejl på siden.
Avatar billede jakoba Nybegynder
09. september 2002 - 12:45 #1
du kan skrive datoen ind i en javascript variabel på din side med:

<script type='text/javascript'>

var phptid = new Date( <?php echo (time()*1000); ?> );
            // kun for php

var asptid = new Date( <% response.write( (new Date()).valueOf() ) %> );
            // kun for asp

</script>

men husk det er en statisk værdi du får der. Det tidspunkt hvor dit serverside script skrev den linie til kildefilen.

mvh JakobA
Avatar billede kak Nybegynder
09. september 2002 - 14:00 #2
Jeg bruger asp, så jeg har forsøgt med det nederste forslag. Men det giver en asp-fejl på siden?!
Avatar billede jakoba Nybegynder
09. september 2002 - 14:08 #3
Ups. det kan jeg nok ikke lige hjælpe med, da jeg er en klovn til asp. Jeg gik ud fra at JScript objektet Date også fandtes serverside og virkede ligesom det gør ude i brugerens browser. Det gør det åbenbart ikke.

Men mon ikke der kommer en aller anden forbi der ved hvordan det skal gøres i ASP.
Avatar billede tarraq Nybegynder
20. september 2002 - 12:39 #4
Godt nok forsøger jeg ihærdigt at holde mig fra Microsoft-baserede teknologier, men den her kan jeg da godt lige snuppe.

Du kan hive tiden fra serveren ned i javascript-variabler på følgende måde:

<script language="JavaScript" type="text/css">
    //Getting time from server
    hour = "<% response.write(hour(now())) %>";
    minutes = "<% response.write(minute(now())) %>";
    seconds = "<% response.write(second(now())) %>";
    day = "<% response.write(day(now())) %>";
    month = "<% response.write(month(now())) %>";
    year = "<% response.write(year(now())) %>";
</script>

Derefter kan du selv sætte tiden i javascript (oprette et date()-object), eller bare skrive det ud, hvis det er hvad du har brug for.

Happy Coding,
Tarraq
Avatar billede jakoba Nybegynder
20. september 2002 - 13:05 #5
terraq >> er det ikke lidt farligt at kalde now() så mange gange ?
koden tager tid at udføre så måske første now() er 'et mikrosekund før midnat 31 dec 2002' og sidste now() er 'et mikosekund efter midnat 1 jan 2003'
Avatar billede tarraq Nybegynder
20. september 2002 - 13:09 #6
Muligvis.

Vi gør sådan her i stedet for:

<script language="JavaScript" type="text/css">
    //Getting time from server
    <% thetime = now()%>
    hour = "<% response.write(hour(thetime)) %>";
    minutes = "<% response.write(minute(thetime)) %>";
    seconds = "<% response.write(second(thetime)) %>";
    day = "<% response.write(day(thetime)) %>";
    month = "<% response.write(month(thetime)) %>";
    year = "<% response.write(year(thetime)) %>";
</script>

Happy Coding,
Tarraq
Avatar billede kak Nybegynder
22. september 2002 - 13:16 #7
Virker fint! Tak for det.
Avatar billede kak Nybegynder
22. september 2002 - 13:17 #8
terraq -> Opretter du lige en svar, så du kan få dine point?
Avatar billede tarraq Nybegynder
22. september 2002 - 13:17 #9
Et lille svar :)
Avatar billede tarraq Nybegynder
22. september 2002 - 13:18 #10
Og så er det lidt ironisk at jeg er linux-tilhænger *G*
Avatar billede tarraq Nybegynder
23. september 2002 - 11:00 #11
Takker :)
Avatar billede tarraq Nybegynder
23. september 2002 - 11:03 #12
Ser da lige en lille fejl.
Skal hedde <script language="JavaScript" type="text/javascript">!
Ikke <script language="JavaScript" type="text/css"> :)

Men det er en mindre detalje ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester