HTML-kommentarer

Original:http://webtips.dan.info/comments.html

FÖRSLAG: När du sätter kommentarer i HTML-koden, börjar kommentaren med <-, avsluta den med -!>, Och undvik att använda – eller> i den.

Många människor som försöker sätta kommentarer i sin HTML-kod – text avsedd för referens av exploatören men inte att visas av webbläsaren – få syntaxen fel, vilket kan orsaka vissa webbläsare till misstag visning del av kommentaren, eller ännu värre, anser stora bitar av resten av dokumentet att vara en kommentar och ignorera dem. Denna utbredda förvirring om kommentar syntax är förståeligt med tanke att HTML-kommentar syntax är en ganska outgrundlig utväxt av SGML (Standard Generalized Markup Language), ett språk konstruerat för formatering av regeringsdokument som låg till grund för HTML. Kanske några av samma personer som utarbetat de 1040 deklarationsblanketter också skapade syntaxregler för SGML, och därmed HTML.

Medan den populära uppfattningen är att kommentarer öppen med <! – Och avslutas med ->, är det inte helt helt korrekt. Egentligen kommentarer börjar och slutar med “-“, som i “- Det här är en kommentar -“, men sådana kommentarer kan bara ske inom den korrekta SGML sammanhang, som råkar vara ett block börjar med <! och slutar med>. Detta hamnar producera den allmänt observerade kommentaren syntax, men det kräver det ytterligare villkoret att du inte ska ha “-” förekommer i mitten av kommentaren, eftersom det skulle markera slutet på kommentaren. Egentligen kan du använda “-” om det följt med en annan “-“, eftersom flera kommentarer är tillåtna. Så följande är lagligt:

<! – Det här är en kommentar – – och här är mer ->

Men eftersom du inte vill vara så försiktig i att räkna dina par streck, det är bättre att inte inkludera några dubbla streck som helst i en kommentar linje, så du kan vara säker på att rätt syntax följs. Detta kan få vara lite av ett problem i att kommentera bort JavaScript-kod (rekommenderas för att dölja den från äldre webbläsare), eftersom “-” ofta påträffas som en minskningsoperatör. Du måste använda ditt bästa omdöme i sådana fall om huruvida att skriva din JavaScript-kod för att undvika denna operatör, eller leva med en missbildad “kommentar” som förmodligen inte kommer att krascha de vanligaste webbläsarna som används för att hantera en sådan dålig syntax ändå. Bara försök att inte använda kommentarer som <! ————–> Med så många streck du sannolikt att förlora räkningen.

En annan karaktär som du bör undvika i kommentarer är större än-symbol (>). Även om detta är lagligt inom en kommentar, gör vissa webbläsare inte analysera kommentarer korrekt, och de kanske tror att en större än-tecken är slutet av kommentaren. Så undvika det, även om detta kan utgöra ett problem både i JavaScript-kod och när du är “kommentera bort” någon HTML-kod som du tillfälligt ta bort från din sida.

En annan felaktig syntax används ibland är -> som slutsekvensen för en kommentar. Detta är inte rätt syntax; inget utropstecken är tänkt att vara i slutet av kommentaren. Tekniskt sett den! tecknet är här är belägen mellan kommentaren stängnings “-” och SGML block slutar “>”, och dess effekt är odefinierad. Många webbläsare (kanske de flesta) kommer att tolka detta som författaren tänkt, som i slutet av en kommentar, men det kan finnas några som inte så tolka det, så gör det inte det här sättet!

Om du använder någon automatiserat program för att generera HTML-kod, till exempel en WYSIWYG editor eller ett program som genererar HTML från ett kalkylblad eller en databas, se upp för missbildade kommentarer dessa program kan infoga; tyvärr författarna sådan programvara får ibland kommentaren syntax fel och orsaka detta på alla sina användare.

OBS: En av de många sätt HTML 5.0 “döva ner” normerna är att det har sjunkit alla försök att följa SGML regler, och i stället antar förenklade kommentar syntaxregler som inte inkluderar många av dessa komplikationer; kommentarer helt enkelt avgränsas av <-! … -> som de flesta människor felaktigt trott dem vara. (I allmänhet utvecklarna av HTML 5,0 standarden verkar ha antagit “Om alla idioter felaktigt tror något att vara så, då gör det så i den nya standarden!”)
Länkar

“Evil Tester” markera efterlevnad eller brott i webbläsaren med specs rörande kommentar syntax.