HTML5-Doctype, der IE9 in den Mackenmodus versetzt?

101

Ich versuche, IE9 dazu zu bringen, meine Seite mit IE9-Standards zu laden ...

Mir ist aufgefallen, dass ich <!DOCTYPE HTML>das verdammte Ding in den Mackenmodus versetzt habe ... Was so ziemlich alles auf der Seite kaputt macht ...

Wie kann ich den IE dazu bringen, sich an die IE9-Standards zu halten?

Abhishek
quelle
1
@ EricLaw - Huh? Ich folge nicht ...
Abhishek
Wie lautet die URL Ihrer Seite, die dieses Problem reproduziert?
EricLaw
Es ist eine interne Testseite, die ich benutze ... Aber nvm, @David_Wick hat die Frage bereits beantwortet ... :-)
Abhishek

Antworten:

134

Platzierung:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

im <head>Tag sollte es tun.

David Wick
quelle
1
Ja, das hat den Trick gemacht ... Könnten Sie mir das bitte ein wenig erklären?
Abhishek
8
@Abhishek: Meta-Elemente müssen in HTML5 nicht explizit geschlossen werden (und historisch gesehen wäre das Schließen gegenüber älteren HTML-Spezifikationen tatsächlich ungültig).
Reisio
4
@reisio - Wenn Sie sich die Geschichte ansehen, werden Sie sehen, dass er ursprünglich die schließende Klammer ( >) weggelassen hat .
Shauna
Muss es das erste oder einzige Meta-Tag sein? Weil es dort drin ist und immer noch standardmäßig den Mackenmodus verwendet.
DeadlyChambers
2
Ich habe herausgefunden, dass das Platzieren dieses Meta-Tags direkt nach dem <head> -Tag funktioniert, während es am unteren Rand von <head> möglicherweise nicht funktioniert, wahrscheinlich aufgrund anderer störender Inhalte.
Paolo Mioni
63

Stellen Sie sicher, dass Sie vor der DOCTYPE-Deklaration keine HTML-Kommentare haben, da sonst IE9 den Mackenmodus verwendet.

Nur <!DOCTYPE html>ganz oben auf der Seite zu stehen und nichts davor zu haben, sollte ausreichen, damit IE9 den Standardmodus verwendet. Sie sollten das Meta-Tag auch nicht benötigen.

zuallauz
quelle
1
@frumbert: außer dass dieser Fall Kommentare vor der Doctype-Deklaration hat, also nein.
Reisio
mit der Ausnahme, dass diese nicht als HTML-Kommentare behandelt werden, handelt es sich um bedingte Kommentare, die IE (any) nicht als Teil des dom interpretiert, während HTML-Kommentare (solche ohne eckige Klammern) als dom und daher hinter Leerzeichen behandelt werden. Abhängig vom Fall, der Version von dh und dem verwendeten Doctype.
Frumbert
2
Nein, tut es nicht, sagte zuallauz Kommentare, und Ihre Beispiele haben Kommentare (ob sie Standard-HTML sind oder nicht oder nur vom IE wie gewünscht interpretiert werden oder nicht, ist irrelevant).
Reisio
4

Entfernen Sie alle nicht unterstützten Kommentare und suchen Sie nach unterstützten Kommentaren. Und platzieren Sie in Ihrem Kopfetikett. Die Dokumenttypdeklaration sollte die allererste Zeile in Ihrem HTML sein.

Biswajit Chatterjee
quelle
0

Ich habe im Kopf auf allen Seiten erwähnt. Es wird jedoch nur für die Startseite korrekt angezeigt. Für alle anderen Seiten wird die Seite weiterhin im Streumodus gerendert.

Avinava Basu
quelle