Ist die DOCTYPE-Deklaration der erste Tag in einem HTML-Dokument sein? [Duplikat]
Frage
Diese Frage bereits eine Antwort hier:
Unsere Sicherheitsmanager fügen dynamisch ein wenig Javascript an der Spitze jeder HTML-Seite, wenn eine Seite vom Client angefordert wird. Es wird über die DOCTYPE-Anweisung eingefügt. Ich denke, das könnte die Ursache für die Layout-Probleme sein das ich habe.
Ideen anyone?
Lösung
Ja, DOCTYPE müssen die ersten Daten auf der Seite sein: http: //www.w3schools. com / tags / tag_DOCTYPE.asp
Andere Tipps
Ja, muss die DOCTYPE an erster Stelle.
Die Definition ist hier: http://www.w3.org /TR/REC-html40/struct/global.html . Beachten Sie, dass es sagt, ein Dokument besteht aus drei Teilen, und die DTD muss zuerst.
Die Empfehlung für HTML drückt es als eine Anwendung von SGML, das erfordert, dass die DOCTYPE
Erklärung erscheint vor dem HTML-Elemente (HTML Kommentare zu ignorieren). Auch ohne die DOCTYPE
außerhalb des SCRIPT
Element ein HTML
Element hinzugefügt wird (entweder vor oder nach dem es es) ist nicht gültig HTML. Natürlich kann keine Voraussetzung für Sie, so lange HTML Gültigkeit sein, wie es in den meisten Browsern funktioniert, und dann Sie die Macken-Modus-Umschaltung erwähnt bekommen: ohne DOCTYPE
, viele Browser schaltet in den Quirks-Modus, möglicherweise Ändern des Layouts .
Ich gehe davon aus dem TAM-Skript-Fragmente wird durch einen Proxy oder andere hinzugefügt werden, die richtig nicht in der Lage ist, um die HTML-Struktur der Seite zu analysieren und die SCRIPT
in der richtigen Position in den HEAD
oder BODY
des Dokuments einfügen. In diesem Fall wird das Hinzufügen, bis zum Ende des Dokuments, während nicht gültig HTML, wird in den meisten Web-Browsern.
Es könnte die Ursache des Problems, obwohl sein! Check out „Quirks-Modus“, wie das auf Einstellungen Doctype abhängt. Weitere Studie: http://www.quirksmode.org/ Erklärung: Sie Ihren Browser in (meist IE) strengen Standards compilant Modus und losen Modus umschalten. Dies wird erheblich beeinflussen zu machen. TAM Einstellung dieses Ein / Aus eingeschaltet haben könnte.
las ich die w3-Spezifikationen, die nur sagen, dass es 3 Teile zu einem Dokument. Die Sequenz wird davon ausgegangen, und es gibt keine explizite Aussage verbietet zum Beispiel ein wenig js Front Snippit up.
Ich verstehe, dass es möglich ist, TAM zu konfigurieren, dass die js am Ende des dicument hinzuzufügen, aber es schlägt mich, warum sie es oben setzen, wenn es so offensichtlich Probleme verursachen kann!
W3c (bei w3.org), auf einer Seite mit dem Namen html5 / syntax.html , sagt „a DOCTYPE ist eine erforderliche Präambel“, die ich interpretieren, es erforderlich ist, und dass es muss an erster Stelle stehen.
Er sagt auch, es aus den folgenden Komponenten in dieser Reihenfolge bestehen müssen:
- Eine Zeichenfolge, die eine ASCII-Groß- und Kleinschreibung Übereinstimmung für die Zeichenfolge
<!DOCTYPE
ist. - Ein oder mehrere Leerzeichen.
- Eine Zeichenfolge, die eine ASCII-Groß- und Kleinschreibung Übereinstimmung für die Zeichenfolge
html
ist. - Optional kann ein DOCTYPE Legacy-String oder ein veralteter erlaubt DOCTYPE Zeichenfolge (unten definiert).
- Keine oder mehr Leerzeichen.
- A
>
(U + 003E) Charakter.
Ja, der Doctype muss als erste in dem Dokument sein (außer Kommentaren). Sie sollten das Einfügen Skripte vor dem Doctype vermeiden; konforme Parser sind nicht zu akzeptieren, dass erforderlich. (Sie sollten Skripte akzeptieren beigefügten nach der Rest des Dokuments, wenn das eine Alternative.)
Von der HTML-5-Spezifikation:
8.1 Schreiben von HTML-Dokumenten
Dieser Abschnitt gilt nur für Dokumente, Authoring-Tools und Markup> Generatoren. Insbesondere gilt es nicht zu Konformität Kontrolleure; > Konformität Kontrolleure müssen die Anforderungen im nächsten Abschnitt verwenden> ( „HTML-Dokumente parsen“).
Dokumente aus den folgenden Teilen, in der angegebenen Reihenfolge bestehen müssen:
- Optional kann ein einzelner "BOM" (U + FEFF) Charakter.
- Eine beliebige Anzahl von Kommentaren und Leerzeichen.
- A DOCTYPE.
- Eine beliebige Anzahl von Kommentaren und Leerzeichen.
- Das Stammelement in Form eines HTML-Elements.
- Eine beliebige Anzahl von Kommentaren und Leerzeichen.
- Die verschiedenen Arten von Inhalten oben erwähnt werden in den nächsten Abschnitten beschrieben.
Von HTML 4.01 Spezifikation:
7 Die globale Struktur eines HTML-Dokument
Ein HTML 4 Dokument besteht aus drei Teilen:
- eine Zeile mit HTML-Versionsinformationen,
- ein deklarativer Kopfabschnitt (durch das Kopfelement getrennt),
- ein Körper, der das Dokument des tatsächlichen Inhalt enthält. Der Körper kann durch das BODY-Element oder das FRAMESET-Element realisiert werden.
[...]
Leerraum (Leerzeichen, Zeilenumbrüche, Tabulatoren und Kommentare) vor oder nach jedem Abschnitt angezeigt werden.
[...]
Ein gültiges HTML-Dokument erklärt, welche Version von HTML wird im Dokument verwendet. Die Dokumenttypdeklaration Namen der Dokumenttyp-Definition (DTD) im Einsatz für das Dokument (siehe [ISO8879]).
Es ist kein Tag, aber yup. Vor allem, weil das der einzige Weg ist, die Internet Explorer (pre-Version 8, glaube ich) in Standardmodus.
bekommen