Wie kann ich den IE-Kompatibilitätsmodus programmgesteuert deaktivieren?

Lesezeit: 3 Minuten

Ich habe eine Weile an diesem Problem gehangen – ich konnte nicht herausfinden, warum eine Website in zwei identischen Versionen von Internet Explorer unterschiedlich dargestellt wird. Vor einer halben Stunde stieß ich im IE auf einen Kompatibilitätsmodus-Button, der mich wirklich wütend machte.

Das Deaktivieren des Kompatibilitätsmodus hat mein Problem behoben.

Gibt es eine Möglichkeit, es programmgesteuert zu deaktivieren, dh von einer Webseite?

Bearbeiten:

Bin gerade auf diesen Blog gestoßen https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx

Ich werde einen Beispielcode posten, nachdem ich den Artikel gelesen habe

  • Nicht sicher, ob Sie dies über eine Webseite tun können, ist möglicherweise besser, für den IE-Kompatibilitätsmodus (IE 7) zu codieren. 🙁

    – Spuk

    27. September 2010 um 12:50 Uhr

  • Siehe stackoverflow.com/questions/1014666/…. Das hat nichts mit dem doctype zu tun.

    – David Kolar

    27. September 2010 um 12:53 Uhr

  • Ich gehe davon aus, dass es eine Windows / IE-Einstellung gibt, aber Sie können auf der Webseite nichts tun, um dies zu diktieren, da Sie im IE8 bleiben und nicht in den Kompatibilitätsmodus wechseln möchten.

    – Jakob Schwarz

    27. September 2010 um 12:55 Uhr

Wenn Sie möchten, dass das “alte” Rendering angezeigt wird und keine Schaltfläche in der Symbolleiste angezeigt wird, damit Benutzer den Modus wechseln können, können Sie dies verwenden:

<head>
  <!-- Mimic Internet Explorer 7 -->
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
  <title>My Web Page</title>
</head>

Weitere Optionen (alt und neu) sind:IE=5, IE=7, IE=8oder IE=edge

(Rand entspricht dem höchsten verfügbaren Modus)

  • Danke – das funktioniert. Dies bedeutet immer noch, dass ich meinen Code ändern muss, damit er in IE 7 funktioniert.

    Benutzer338195

    27. September 2010 um 13:03 Uhr

  • Gibt es etwas Bestimmtes, das im IE8-Standardmodus nicht funktioniert? Wenn ja, stellen Sie eine andere Frage und vielleicht können wir sie für Sie lösen.

    – Schnauze

    27. September 2010 um 13:34 Uhr

  • Es ist eine Positionierung von divs. Ich habe irgendwo gelesen, dass IE7 zusätzliche Pixel für den linken und rechten Rand oder etwas in diesen Zeilen benötigt. Die Seite sieht gut aus in Firefox, Safari, Chrome, sogar dh 8 ohne Kompatibilitätsmodus … aber IE 7 ist eine andere Geschichte

    Benutzer338195

    27. September 2010 um 14:35 Uhr

  • Omg danke. Das hat mich wahnsinnig gemacht. Ich bin ein Webentwickler und entwickle Sachen auf der IE9-Plattform, aber wenn ich die Arbeit einreiche und sie durch andere Dinge geschoben wird, endet sie auf einer Live-Seite ganz verzerrt. Dieser kleine Trick ermöglichte es mir, IE9-Einstellungen so zu erzwingen, wie ich sie sehe, und unzählige scheinbare CSS-Probleme loszuwerden, die sogar jQuery-Operationen störten.

    – Lukas

    18. Juni 2012 um 16:19 Uhr

  • Wenn Sie dies aus irgendeinem Grund nicht im Kopf vor Skript oder CSS platzieren können, können Sie es als Kopfzeile in Ihrer Webserverkonfiguration hinzufügen.

    – Lukas Holt

    28. Januar 2013 um 20:36 Uhr

Wahrscheinlich müssen Sie Ihren DOCTYPE richtig einstellen. Sehen Sie sich die Artikel von MSDN an DOCTYP und Dokumentkompatibilität definieren Für mehr Information.

Bitte beachten Sie auch, dass auch IE8-Browsereinstellungen einen bestimmten Modus erzwingen können. Ich habe einen Kunden, bei dem der IE8-Kompatibilitätsmodus per Richtlinie im Intranetmodus erzwungen wird.

  • +1, dies kann auch in IE9 erzwungen werden. Wahrscheinlich in allen neueren IE-Versionen, denke ich.

    – bin_

    11. Oktober 2013 um 11:09 Uhr

Bitte fügen Sie hinzu, dass der IE den Kompatibilitätsmodus nicht anwenden muss

<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">

In meinem Fall habe ich es behoben, indem ich das folgende Tag nach dem hinzugefügt habe <head> Schild:

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

1311730cookie-checkWie kann ich den IE-Kompatibilitätsmodus programmgesteuert deaktivieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy