petterg Skrevet 23. desember 2003 Del Skrevet 23. desember 2003 Dette html dokumentet skulle ha vist en nesten helt blank side, hvit bakgrunn og kun ordet "kropp" øverst til venster. Isteden blir det rød bakgrunn og endel mer tekst. Prøv selv. (har prøvd på IE6 og Opera 7.11) Walkaround er å putte inn en "+": var bugVar = "<"+"/script>"; <HTML> <HEAD> <script language=javascript> function minFunc() { var okVar = "dette funker"; var bugVar = "</script>"; var htmlVar = "</HEAD><BODY bgcolor='red'>"; var htmlVar2 = "dette regnes ikke som javascript kode!"; } //denne teksten skrives også som en del av html koden! </script> </HEAD> <BODY> <P>kropp </BODY> </HTML> Lenke til kommentar
enden Skrevet 23. desember 2003 Del Skrevet 23. desember 2003 (endret) Det skal jeg fortelle deg: Det er ingenting som tilsier, rent logisk sett, at scriptet skal kjøres siden du ikke kalle på funksjonen minFunc() Men hvis vi ser dette fra browserens side så er det litt anderledes ut. Linje01: html begynner linje02: head begynner linje03: et script begynner. Ignorer foreløpig linje04: del av et script. Ignorer foreløpig linje05: del av et script. Ignorer foreløpig linje06: </script> Skripete slutter. linje07: head slutter og body begynner med rød bakgrunn linje08: tekst i body siden body har begynt linje09: tekst i body siden body har begynt linje10: tekst i body siden body har begynt linje11: et script slutter. Hmm, hvilket script er det da? Ignorer dårlig kode linje12: head slutter? men vi er jo alt i body. Ignorer dårlig kode linje13: body begynner? ****** for en dust, vi er i body alt. Ignorer linje14: p begynner. skrit ut kropp linje15: slutt på body linje16: slutt på html. ****** for en lettelse. Hva slags taper har skrevet denne møkkasiden..? (la til litt personlighet ) Dette er grunnen til at du ALLTID skal kommentere vekk kode. Tagger leses som tagger uavhengig av hvor de er plassert. Skjønner? Endret 23. desember 2003 av enden Lenke til kommentar
Marvil Skrevet 23. desember 2003 Del Skrevet 23. desember 2003 Isteden blir det rød bgcolor='red'>"; Ok jeg er ingen kodeguru, men; Isteden blir det rød bgcolor='red'>"; Tipper det er derfor den blir rød. Lenke til kommentar
enden Skrevet 23. desember 2003 Del Skrevet 23. desember 2003 (endret) Ja nettopp fordi koden i scriptet tolkes som ren html når skriptet ikke er kommentert vekk. Rent logisk sett skal hele scriptet ignoreres, men siden </script> er en del av scriptet vil det avslutte seg selv midt inni. Dette fordi html tagger tolkes som html tagger med mindre de er kommentert bort - det hjelper ikke at de er en del av en streng i et script. Du er rett og slett uheldig som har med </script> i selve scriptet, men la dette være en lærepenge, for det er like ile med andre tagger selv om browseren som regel klarer å luke de ut som brukerfeil Endret 23. desember 2003 av enden Lenke til kommentar
petterg Skrevet 25. desember 2003 Forfatter Del Skrevet 25. desember 2003 Dette er grunnen til at du ALLTID skal kommentere vekk kode. Tagger leses som tagger uavhengig av hvor de er plassert. Skjønner? Godt poeng. Har faktsik aldri tenkt på det som en grunn til å kommentere ut script. Trodde man bare kommenterte ut for å ungå problemer med browsere som ikke støttet script - altså noe som henger igjen fra gamle dager. Lenke til kommentar
enden Skrevet 25. desember 2003 Del Skrevet 25. desember 2003 Der ser du hvor feil man kan ta Men igjen - dette er et typisk tilfelle av menneskelig logikk opp mot maskinell tolkning. Nettopp dette er kjernen i problemene med å lage skikkelig AI Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå