webForumDet fria alternativet

Använder jag felaktig kod eller är min läsare dum?

JavaScript

8 svar · 294 visningar · startad av Patrik81

Medlem sedan okt. 2001538 inlägg
Frågan#1

Hejsan, har hittat ett litet javascript när jag rotade lite i datorn nu i helgen, och körde det i msie, funkade klockrent, men när jag kom till mozilla och körde scriptet så slutade det att funka totalt...

rotade igenom hela koden och felsökte och kom till slut fram till att koden jag skrivit levererade ett korrekt värde i msie, men felaktigt i mozilla...
så jag slängde ihop en liten snabb kod för att verkligen försäkra mig om att jag inte dabbat mig någon annanstans i koden, men fick samma resultat där...

alltså resultatet jag vill få fram är detta året... 2002
i mozilla får jag fram 102...

<html>
<head>
   <script>
   <!--
   var today = new Date();
   var year = today.getYear();

   function sayYear(){
      document.write(year);
   }
   //-->
   </script>
</head>
<body>
<script>sayYear()</script>
</body>
</html>

är min kod ie-specifik eller är mozilla helt från vettet? får någon annan upp 102 istället för 2002 eller är det bara mig mozilla är dum emot?

Tacksam för svar
MVH Patrik

PS.
Klurade ut att om man plussar på 1900 så blir det ju 2002... men då blev det ju fel när ie tolkade koden, så jag fick skriva en ful-lösning med en if sats som kollade om siffran i year var mindre än 2000 å om den var plussa till 1900, å annars bara skriva ut, men det känns inte riktigt rätt att behöva göra det... eller?
DS.

Medlem sedan mars 20015 287 inlägg
#2

Jag är nog hyfsat säker på att du har rätt i att det blir fel och att det är vedertaget att man gör en "fuling" i det fallet typ:

if (year < 2000)
year = year + 1900;

Medlem sedan okt. 2001538 inlägg
#3

Ja det var ju så jag fick göra... trodde det var något jag gjort fel... men men där ser man, då har jag ju till och med löst problemet själv, utan att veta om att jag aknske till och med gjorde det på bästa sätt *glad*

Ha det bra, och tack för svaret

MVH Patrik

Medlem sedan juni 20004 308 inlägg
#4

Annars kan du använda today.getFullYear() för att alltid få ett fyrsiffrigt årtal.

Medlem sedan okt. 2001538 inlägg
#5

det skall jag testa Jojoxx, får man fråga, hur bakåtkompatibel är den med Netscape? inte för att det spelar någon större roll i just detta fallet, men kanske i framtida fall...

MVH Patrik

Medlem sedan juni 20004 308 inlägg
#6

Det finns med sedan JavaScript 1.3 vilket gör Netscape 4.06 och senare.

Medlem sedan okt. 2001538 inlägg
#7

hehe, dumt av mig... hur är det med IE? *sorry*

MVH Patrik

Medlem sedan juni 20004 308 inlägg
#8

Jag kan inte prova det, men det ska fungera från 4.0.

Medlem sedan okt. 2001538 inlägg
#9

Det är uppfattat, ja det är ju inte jätteviktigt... det var väl ungefär däromkring jag kunde misstänka att det fungerade... tack ändå
=)

MVH Patrik

271 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)