wake-up-neo.com

Wie erzwinge ich, dass Internet Explorer im Standardmodus und NICHT in Quirks gerendert wird?

Ich codiere ein Frontend, das im IE7-Standardmodus und im IE8-Standardmodus gut funktioniert.

Wenn ich den Internet Explorer starte und die Seite lade, wechseln sowohl IE7 als auch IE8 direkt in den Quirks-Modus. Wie kann ich sowohl IE7 als auch IE8 zwingen, die Seite immer im Standardmodus zu laden?

Bisher wurden keine speziellen Meta-Tags hinzugefügt.

Danke, dass du mir geholfen hast

Edit: Mein Doctype und mein Kopf sehen momentan so aus:

<!DOCTYPE html> 
<html lang="de"> 
<head> 
    <title>...</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta charset="utf-8" />
    <script src="js/html5.js"></script> 

    (...)
</head>
73
maze

Dies ist der Weg, um absolut sicher zu sein:

<!doctype html> <!-- html5 -->
<html lang="en"> <!-- lang="xx" is allowed, but NO xmlns="http://www.w3.org/1999/xhtml", lang:xml="", and so on -->
<head>
<meta http-equiv="x-ua-compatible" content="IE=Edge"/> 
<!-- as the **very** first line just after head-->
..
</head>

Grund:
Immer wenn IE) auf etwas trifft , das in Konflikt steht, kehrt es in den "IE 7-Standardmodus" zurück. ignorieren die x-ua-compatible.

(Ich weiß, dass dies eine Antwort auf eine sehr alte Frage ist, aber ich habe selbst damit zu kämpfen, und obiges Schema ist die richtige Antwort. Es funktioniert immer und überall.)

86
davidkonrad

Leider möchten sie, dass wir ein Tag verwenden, um ihrem Browser mitzuteilen, was zu tun ist. Schauen Sie sich die this Dokumentation an und sagen Sie uns, dass wir verwenden sollen:

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

und es sollte tun.

33
Alfabravo
  1. Verwenden von html5 doctype am Anfang der Seite.

    <!DOCTYPE html>

  2. Erzwinge IE, um den neuesten Rendermodus zu verwenden

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

  3. Wenn Ihr Zielbrowser IE8 ist, überprüfen Sie Ihre kompatiblen Einstellungen in IE8

Ich blogge das ausführlich

11
ValidfroM

Das Hinzufügen der richtigen Doctype-Deklaration und das Vermeiden des XML-Prologs sollten ausreichen, um Quirks-Modus zu vermeiden.

10
safetycopy

Ich weiß, dass diese Frage vor über 2 Jahren gestellt wurde, aber niemand hat dies bisher erwähnt.

Die beste Methode ist die Verwendung eines http-Headers

Das Hinzufügen des Meta-Tags zum Head funktioniert nicht immer, da IE) den Modus möglicherweise vor dem Lesen festgelegt hat. Am besten stellen Sie sicher, dass IE immer verwendet wird Im Standardmodus wird ein benutzerdefinierter http-Header verwendet.

Header:

name: X-UA-Compatible  
value: IE=Edge

In einer .NET-Anwendung können Sie dies beispielsweise in die Datei web.config einfügen.

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=Edge" />
      </customHeaders>
    </httpProtocol>
</system.webServer>
9
Daniel Little

Möglicherweise verursacht der HTML5-Doctype Probleme mit älteren Browsern. Es könnte sich auch um etwas Irres handeln, das mit dem HTML5-Shiv zu tun hat.

Sie können versuchen, zu einem der XHTML-Doctypen zu wechseln und Ihr Markup zumindest vorübergehend entsprechend zu ändern. Dadurch können Sie das Problem möglicherweise eingrenzen.

Bricht Ihr Design, wenn diese IEs in den Mackenmodus wechseln? Wenn es Ihr CSS ist, das seltsame Dinge anzeigt, kann es sich lohnen, am CSS zu arbeiten, damit die Site auch dann gleich aussieht, wenn der Browser den Modus wechselt.

2
safetycopy