wake-up-neo.com

Internet Explorer 9 muss den Standarddokumentmodus verwenden

Wie kann ich Internet Explorer 9 zwingen, den Standarddokumentmodus zu verwenden? Ich baute eine Website und ich finde, dass der IE9 den Quirks-Modus verwendet, um die Websiteseiten zu rendern. Ich möchte jedoch den Standardmodus für das Rendern verwenden.

70
MaxRecursion
 <!doctype html>
 <meta http-equiv="X-UA-Compatible" content="IE=Edge">

Dadurch wird für jede Version von IE der Standardmodus verwendet, sodass IE 9 den Standardmodus IE 9 verwendet. (Wenn Sie stattdessen neuere Versionen von IE bis auch speziell im Standardmodus IE 9) verwenden möchten, würden Sie Edge durch 9 ersetzen.

Erläuterungen finden Sie unter http://hsivonen.iki.fi/doctype/#ie8 (es sieht ziemlich unordentlich aus, aber das liegt daran, dass IE in seinem Verhalten unordentlich ist).

126
<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

Das Meta-Tag muss das erste Tag nach dem Head-Tag sein, sonst funktioniert es nicht.

18
Ty Petrice

Dieser Thread hat etwas sehr Wichtiges angesprochen, aber nicht vollständig erklärt. Der HTML-Ansatz (Hinzufügen eines Metatags im Kopf) funktioniert nur durchgängig auf unbehandeltem HTML-Code oder auf sehr einfachen Serverseiten. Meine Website ist eine sehr komplexe, servergesteuerte Website mit Masterseiten, Design und vielen Steuerelementen von Drittanbietern. Ich fand heraus, dass einige dieser Steuerelemente programmgesteuert ihre eigenen Tags zum endgültigen HTML-Code hinzufügten, die in den Browser am Anfang des Head-Tags. Dadurch wurden die HTML-Meta-Tags praktisch unbrauchbar.

Wenn Sie sie nicht schlagen können, schließen Sie sich ihnen an. Die einzige Lösung, die für mich funktioniert hat, ist, im Pre-Render-Event meiner Masterseiten genau dasselbe zu tun:

Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
    Dim MetaTag As HtmlMeta = New HtmlMeta()
    MetaTag.Attributes("http-equiv") = "Content-Type"
    MetaTag.Attributes("content") = "text/html; charset=utf-8;"
    Page.Header.Controls.AddAt(0, MetaTag)

    MetaTag = New HtmlMeta()
    MetaTag.Attributes("http-equiv") = "X-UA-Compatible"
    MetaTag.Attributes("content") = "IE=9,chrome=1"
    Page.Header.Controls.AddAt(0, MetaTag)
End Sub

Dies ist VB.NET, aber der gleiche Ansatz würde für jede serverseitige Technologie funktionieren. Solange Sie sich vergewissern, dass dies das Letzte ist, das ausgeführt wird, bevor die Seite gerendert wird.

10
David Esquivel

geben Sie einen Doctype als erste Zeile Ihres HTML-Dokuments ein

<!DOCTYPE html>

eine ausführliche Erklärung zur Kompatibilität von Internet Explorer-Dokumenten finden Sie hier: Definieren der Dokumentkompatibilität

6
inancsevinc

Um den Quirks-Modus zu verhindern, definieren Sie einen Doctype wie:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

So erstellen Sie IE Rendern der Seite im IE9-Dokumentmodus:

<meta http-equiv="x-ua-compatible" content="IE=9">

Bitte beachten Sie, dass "IE=Edge" IE die Seite mit dem neuesten Dokumentmodus rendert, nicht im IE9-Dokumentmodus.

5
SuperDuck

Stellen Sie sicher, dass Sie das Hinzufügen dieses Tags berücksichtigen,

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

kann nur Kompatibilität mit den neuesten Versionen zulassen. Es hängt alles von Ihren Bibliotheken ab

3
eoinDeveloper

Ich habe es mit einer alternativen Methode versucht:

Drücken Sie die Taste F12 .__ Wählen Sie dann im Dropdown-Menü rechts die Version 9 des Internet Explorers aus.

Das war es und es hat für mich funktioniert.

0
Madhu Sareen

Stellen Sie sicher, dass Sie den richtigen Doctype verwenden.

z.B.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

oder nur

<!doctype html>

und auch read und verstehen, wie Kompatibilitätsmodi und Entwickler-Symbolleiste für IE funktionieren und Modi für IE festlegen: 

0
Moin Zaman

Ich habe ein Problem festgestellt, wie meine Hauptseite index.jsp die folgende Zeile enthält, aber obwohl das Rendern im IE nicht korrekt war. Ich habe das Problem gefunden und den Code in alle Dateien eingefügt, die ich in index.jsp aufgenommen habe. Hurra! es funktionierte.

Sie müssen also den folgenden Code in alle Dateien einfügen, die Sie in die Seite einfügen, da dies sonst nicht funktioniert.

    <!doctype html>
    <head>
      <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    </head>
0