På en sida inom jobbet används scriptet nedan. Fick höra via någon att det inte skulle vara rätt, men jag hittar inget fel. Skämtar nån aprilo med mig eller har jag missat nåt tecken som ska escapes eller nåt? Det enda jag funderar på är väl om de där html-kommentarerna är bra till något..? Det är väl gamla skolan när man var tvungen att gömma script för att vissa webbläsare inte klarade av det. För att det skall vara korrekt HTML 4.01 måste input-elementen ligga i ett blockelement (t.ex. div) som i sin tur ligger i form-elementet. Enklast är alltså att byta plats på div- och form-taggarna (start- och sluttaggar). Okej, tack då byter jag plats på form och div. Ska man vara lite extra petig så bör man väl snarare köra: När behövs inbäddade javascript överhuvudtaget? Räcker det inte med externa script? Alltså, <script src="ett_script.js"></script> i stället för <script>en.del.js.kod;</script>. Det behövs om man ska deklarera variabler, anropa funktioner för att t.ex. skapa globala objekt som behövs senare osv, som då i sin tur är deklarerade i externa script. Så nog har de ett existensberättigande Förstår inte hur du menar... Varför kan inte dessa variabler och funktionsanrop ligga i externa skript? För att det inte är praktiskt att dynamiskt generera script on-the-fly, samt allt som hör till (ex. skalbarhetsproblem => synkronisera servrar) om man lägger det i ett annat anrop. Dessutom blir det mer pratigt, och svarstiden på sidbyte ökar ännu mer. Belastningen blir dessutom högre, och jag kan inte se någon reell vinst. [citerat Per Persson Medlem:14730 [Är nåt fel i denna kod?]#269345] Webbläsare brukar ha en obehaglig vana att cacha .js-filer vilket kan vara lite trist om man genererar dem dynamiskt och inte ger dem unika namn eller nåt för att motverka. Kan ju också kännas lite overkill att ha en enkel variabeldeklaration i en egen fil (med den overhead det innebär att hämta den osv). Men det är klart att det går, frågan är om man verkligen vill ha det så alltid? <b>>Jag ser bara nackdelar i det.</b> Möjligtvis att det skulle "bli renare", men att det skulle förenkla debuggningen köper jag inte ;)Är nåt fel i denna kod?
<script type="text/javascript">
<!--
document.write('<div><form style="margin:0px;" action="4136.html">');
document.write('<input type="text" name="q" size="20" /> ');
document.write('<input type="submit" value="Sök" />');
document.write('</form></div>');
//-->
</script>Sv: Är nåt fel i denna kod?
Sv:Är nåt fel i denna kod?
Sv: Är nåt fel i denna kod?
Sv:Är nåt fel i denna kod?
Kommentarerna <!-- och //--> kanske är onödiga idag. Det sitter bara som en gammal vana att ha med dem vid script, men det är väl inte fel att ha dem eller?Sv: Är nåt fel i denna kod?
<script type="text/javascript">
/* <![CDATA[ */
document.write('enmassajox');
/* ]]> */
</script>
Html-kommentarer (<!-- -->) säger egentligen att "allt mellan min start- och sluttagg kan du som renderar detta skita högaktningsfullt i", emedan CDATA säger "allt mellan min start- och sluttagg ska du inte tolka som X(HT)ML". Sen att alla(?) vettiga webbläsare idag ändå väljer att förstå javascriptkod innanför <!---taggar är ju bara ett sammanträffande.
Vilken dag som helst nu kommer SuperMegaBrowser2000™ - som följer alla existerande standarder slaviskt - att ta över marknaden, och DÅ är minsann ditt javascript säkrat! Muahahaha.Sv: Är nåt fel i denna kod?
Sv:Är nåt fel i denna kod?
Sv: Är nåt fel i denna kod?
Sv:Är nåt fel i denna kod?
[edit 2008-06-18 23:44:06]
Skrev fel.. Skulle varit med ett "inte", ändrat nu
[/edit]Sv:Är nåt fel i denna kod?
<citat>
Externa skript kan också genereras on-the-fly.
</citat>
Ja, men.. Det ökar komplexiteten något så enormt så det inte är klokt. Dessutom försämrar det prestandan och svarstiderna, samt introducerar fler felkällor. Jag ser bara nackdelar i det.Sv: Är nåt fel i denna kod?
Sv: Är nåt fel i denna kod?
En klar fördel är väl att det blir mycket renare; en fil - ett format. Det leder ju i sin tur till en del förenklingar i debuggning etc.Sv:Är nåt fel i denna kod?
En fördel, massvis med nackdelar, undrar vilken sida som vinner? ;)