2008-12-13 9 views
13

W3C-Validator hat mich nicht auf diese Frage gestellt, aber ich war neugierig, ob noch jemand eine Meinung dazu hatte, HTML-Kommentare außerhalb der HTML-Tags zu platzieren?Ist es in Ordnung, HTML-Kommentare außerhalb der <html> Tags zu setzen?

 
... 
</body> 
</html> 
<!-- byee --> 

Ich habe eine Anwendung und einige Daten ausgebe und wollen es die absolute letzte Sache, die getan wird, was leider bedeutet, dass ich bereits meine letzte </html > angebracht haben.

Antwort

1

Jeder Client sollte Kommentare vollständig ignorieren, so dass sie keine Probleme verursachen sollten. Wenn der Validator sich nicht beschwert hat, ist es wahrscheinlich in Ordnung.

17

Ich kann nicht sehen, dass dies ein Problem ist - zulässige Kommentare sind nicht in einer DTD angegeben (da sie effektiv für Menschen, nicht für Computer sind). Außerdem erlaubt die DOM-API (http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html) explizit viele Kommentare direkt unter dem Dokumentknoten (d. H. Nicht das Stamm-HTML-Element, das logische Dokumentenstammverzeichnis), so dass jeder konforme Browser dies zulassen sollte.

Das soll nicht heißen, dass Sie keine Browser oder Tools finden werden, vor allem ältere, die ersticken. Aber ich wäre überrascht, wenn es viele wären.

+1

Ich habe keinen Browser gesehen, der sich darüber beschweren würde. Nur zum Spaß habe ich im alten Mosaic 2.1.1 (ab 1996 !!) getestet und selbst dieser sehr alte Browser hat sich nicht beklagen können. – some

13

Ich glaube nicht, einen Kommentar nach dem </html > wird keine Probleme verursachen, aber ich glaube, dass ein Kommentar, der die DOCTYPE-Deklaration (und damit vor dem <html>-Tag) in Quirks-Modus wird Kick IE6 vorangeht.

+2

Dies betrifft mehr als nur IE6. langwierige Diskussion hier darüber, warum w3 diesen HTML-Code nicht ungültig macht: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12072 – benrifkah

-1

Ja, auf jeden Fall. Jede Rendering-Engine (IE, Firefix, Opera, Safari usw.) ignoriert jedes HTML-Kommentar-Tag vollständig unabhängig von der Position.

+0

Dies ist technisch nicht wahr, da der IE Kommentare für bedingte Anweisungen analysiert. Siehe: "http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx –

0

Ich hatte eine SEO-Firma, die auf der Website eines Kunden arbeitete, entschloss sich, einen HTML-Kommentar in einen meiner PHP-Includes hinzuzufügen, der außerhalb des HTML-Tags lag und Probleme im Internet Explorer verursachte. Es verursachte eine Reihe von Formatierungsproblemen mit meinen Dropdown-Menüs. Es machte keinen Sinn, warum es kaputt ging, aber es war zu 100% durch den Kommentar verursacht. Sobald der Kommentar gelöscht wurde, ging alles wieder normal.

+0

Sofern Sie keine Demonstration vorführen können, sollte die Beschreibung als Fehlalarm betrachtet werden. Das Problem wurde verursacht durch etwas anderes (wie ein Fehler in der Kommentarsyntax, einfach zu machen) –

+0

@Eric, welche Version von IE war es? – Pacerier

+0

Ich denke, dass dies nützliche Informationen ist, aber vielleicht als Kommentar als Antwort besser geeignet ist – RobD

1

FYI, wenn Sie AngularJS verwenden und erstellen .directive wo replace wahr ist, wird ein Kommentar außerhalb des Root-Element im HTML-Fragment Angular verursachen zwei Stammelemente zu sehen und werfen diesem Fehler

Template for directive 'yourDirective' must have exactly one root element.

Verwandte Themen