27. marts 2003 - 11:10Der er
6 kommentarer og 1 løsning
Detaljeret forklaring af script
Jeg er ved at producere en hjemmeside hvor jeg anvender nogle javascripts. Som sådan fungerer de fint, men jeg kunne godt tænke mig en detaljeret forklaring af hvordan de fungerer, så jeg eventuelt kan tilpasse dem på et senere tidspunkt. scripts:
Ur
var days=new Array(8); days[0]="Søndag"; days[1]="Mandag"; days[2]="Tirsdag"; days[3]="Onsdag"; days[4]="Torsdag"; days[5]="Fredag"; days[6]="Lørdag";
var months=new Array(13); months[1]="januar"; months[2]="februar"; months[3]="marts"; months[4]="april"; months[5]="maj"; months[6]="juni"; months[7]="juli"; months[8]="august"; months[9]="september"; months[10]="oktober"; months[11]="november"; months[12]="december"; var time=new Date(); var lmonth=months[time.getMonth() + 1]; var lday=days[time.getDay()]; var date=time.getDate(); var year=time.getFullYear(); var hours=time.getHours(); var minutes=time.getMinutes(); var seconds=time.getSeconds();
UR: Dette script anvender arrays til at forvandle tal til ord. var etArray = {"Nul","Et","To"}; var etTal = 1; // vores tal. dette svarer til et INDEX i arrayet. bemærk plads 1 er index 0 alert(etArray[etTal]); Idet dette script skriver til dokumentet skal som minimum document.write() kode-delen pladseres imellem <body> og </body>
Login. Dette vil jeg ikke anvende hvis jeg var dig. Det gør bare folk nysgerrige hvis der er kode-ord, og det der er SÅ let at hacke at det næsten er løwn.
Ok. Først oprettes to arrays med konstructor. Konstruktoren tager et enkelt tal som argument, og dette definerer længden på dette array. I dette tilfælde opretter vi to arrays - days og months - og lader hvert index i disse arrays modsvare dage og måneder. Derefter opretter vi et Date objekt, der ikke har nogen argumenter i konstruktoeren. Dette objekt indeholder tidspunktet siden blev loaded taget fra system uret. Date indeholder en række metoder der angiver måned og dag som et tal. Det er disse vi sammenkobler med de to arrays så det hedder "Torsdag, d. 27. marts" og ikke "03-27-2003-12:00:00". Bemærk at disse returnerer det forventede (4 for torsdag til eksempel) minus en (altså 3 for torsdag). Dette er fordi index i et array er 0 på første plads. Fremsynet må man sige (udviklerne har sikkert forudset denne anvendelse).
Slutteligt udskrives den fundne dato pænt i et <p> tag med document.write(). Det er denne del der skal være i <body>.
udemærket. objektet document er javascripts repræsentation af html-dokumentet. dette indeholder en række felter med objekter der findes i dokumentet og en række funktioner. man kan få adgang til de html-objekter der har en NAME attribut med en simpel pointer (objekt.sub-object.field = value). blandt disse er <form> <form name="form1"> kan således tilgåes med document.form1 inde i form1 findes to input-felter. disse kan tilgåes på samme måde fra form1 som form1 kunne fra document. <input type="text" value="Skriv brugernavn" name="username"> kan hentes med document.form1.username (forudsat den findes inden i form1's tags) disse har et value felt svarende til den streng der umiddelbart findes i det pågældende tekstfelt. Således vil document.form1.username.value være lig "FolMer" hvis der står FolMer inde i dette felt (selvklart). Vi vil kun acceptere små bogstaver, men brugeren kan ved en fejl have CAPS-lock på eller lign. så vi kalder metoden toLowerCase for at omdanne store til små bogstaver var login=document.form1.username.value; // "FolMer" login=login.toLowerCase(); // er nu blevet til "folmer" herefter laver vi en boolsk OG sammenligning. && kan raskvæk læses som "og" og == kan læses som "er lig med" if ((pw == "dillertjavs")&&(login == "Hansemand")) { window.location="beskyttet.htm" } else if ((pw == "kyssemund")&&(login == "banditten")) { window.location="beskyttet.htm" } kan altså læses som "hvis" ((password "er lig" "dillertjavs") "og" (login "er lig" "hansemand")) { vindue åben lokaliteten beskyttet.html } "ellers hvis" o.s.v. bemærk at login ALDRIG kan blive "Hansemand" da vi har kaldt toLowerCase. Denne linje er altså meningsløs. Man kan også bruge || (or - ellers) i stedet for en masse else-if.
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.