it-swarm.com.de

Was macht <meta http-equiv = "X-UA-kompatibel" content = "IE = Edge">?

Was ist der Unterschied, wenn eine Webseite mit beginnt?

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

und Wenn Seite beginnt mit

<!DOCTYPE html> 
<html> 
  <head> 
     <!-- without X-UA-Compatible meta -->

Wenn es keinen Unterschied gibt, kann ich den X-UA-Compatible -Meta-Header einfach ignorieren, da ich nur möchte, dass er in allen IE -Versionen im Standardmodus gerendert wird.

1341
Morgan Cheng

Oktober 2015 Update

Diese Antwort wurde vor einigen Jahren gepostet und jetzt sollte die Frage lauten: Sollten Sie überhaupt in Betracht ziehen, das X-UA-Compatible -Tag auf Ihrer Website zu verwenden? mit den Änderungen, die Microsoft an seiner Website vorgenommen hat Browser (mehr dazu weiter unten).

Abhängig davon, welche Microsoft-Browser Sie unterstützen, müssen Sie das X-UA-Compatible -Tag möglicherweise nicht weiter verwenden. Wenn Sie IE9 oder IE8 unterstützen müssen, würde ich die Verwendung des Tags empfehlen. Wenn Sie nur die neuesten Browser (IE11 und/oder Edge) unterstützen, würde ich in Betracht ziehen, dieses Tag insgesamt zu löschen. Wenn Sie Twitter Bootstrap verwenden und Validierungswarnungen entfernen müssen, muss dieses Tag in der angegebenen Reihenfolge angezeigt werden. Zusätzliche Informationen unten:


Mit dem Meta-Tag X-UA-Compatible können Webautoren auswählen, in welcher Version von Internet Explorer die Seite gerendert werden soll. IE11 hat diese Modi geändert. Siehe den Hinweis zu IE11 weiter unten. Microsoft Edge , der Browser, der IE11 ersetzt hat, berücksichtigt das Meta-Tag X-UA-Compatible nur unter bestimmten Umständen. Siehe den Hinweis zu Microsoft Edge weiter unten.

Laut Microsoft sollte das X-UA-Compatible -Tag in Ihrem Dokument head so hoch wie möglich sein:

Wenn Sie das X-UA-kompatible META-Tag verwenden, möchten Sie es so weit wie möglich oben auf dem HEAD der Seite platzieren. Internet Explorer beginnt mit der Interpretation des Markups mit der neuesten Version. Wenn Internet Explorer auf das X-UA-kompatible META-Tag stößt, wird es mit der Engine der angegebenen Version neu gestartet. Dies ist ein Leistungseinbruch, da der Browser die Analyse des Inhalts stoppen und neu starten muss.

Hier sind Ihre Optionen:

  • "IE = Edge"
  • IE = 11
  • "IE = EmulateIE11"
  • IE = 10
  • "IE = EmulateIE10"
  • "IE = 9"
  • "IE = EmulateIE9
  • IE = 8
  • "IE = EmulateIE8"
  • "IE = 7"
  • "IE = EmulateIE7"
  • IE = 5

Um zu verstehen, was die einzelnen Bedeutungen bedeuten, werden die folgenden Definitionen von Microsoft bereitgestellt:

Internet Explorer unterstützt eine Reihe von Dokumentkompatibilitätsmodi, die verschiedene Funktionen aktivieren und die Darstellung von Inhalten beeinflussen können:

  • Der Edge-Modus weist Internet Explorer an, Inhalte im höchsten verfügbaren Modus anzuzeigen. Bei Internet Explorer 9 entspricht dies dem IE9-Modus. Wenn eine zukünftige Version von Internet Explorer einen höheren Kompatibilitätsmodus unterstützt, werden im Edge-Modus festgelegte Seiten im höchsten von dieser Version unterstützten Modus angezeigt. Dieselben Seiten werden bei Anzeige mit Internet Explorer 9 weiterhin im IE9-Modus angezeigt. Internet Explorer unterstützt eine Reihe von Dokumentkompatibilitätsmodi, die verschiedene Funktionen aktivieren und sich auf die Darstellung von Inhalten auswirken können:

  • Der IE11-Modus bietet die höchste verfügbare Unterstützung für etablierte und aufstrebende Industriestandards, einschließlich HTML5, CSS3 und andere.

  • Der IE10-Modus bietet die höchste verfügbare Unterstützung für etablierte und aufstrebende Industriestandards, einschließlich HTML5, CSS3 und andere.

  • Der IE9-Modus bietet die höchste verfügbare Unterstützung für etablierte und aufstrebende Industriestandards, einschließlich HTML5 (Working Draft), W3C Cascading Style Sheets Level 3-Spezifikation (Working Draft), Scalable Vector Graphics (SVG) 1.0-Spezifikation und andere. [Anmerkung des Editors: IE 9 unterstützt CSS3-Animationen nicht ].

  • Der IE8-Modus unterstützt viele etablierte Standards, einschließlich der W3C Cascading Style Sheets Level 2.1-Spezifikation und der W3C Selectors API. Es bietet auch eingeschränkte Unterstützung für die W3C Cascading Style Sheets Level 3-Spezifikation (Working Draft) und andere neu entstehende Standards.

  • Im IE7-Modus werden Inhalte so gerendert, als ob sie im Standardmodus von Internet Explorer 7 angezeigt würden, unabhängig davon, ob die Seite eine Direktive enthält oder nicht.

  • Der IE9-Emulationsmodus weist Internet Explorer an, anhand der Direktive zu bestimmen, wie Inhalte gerendert werden sollen. Direktiven im Standardmodus werden im IE9-Modus und Direktiven im Quirks-Modus im IE5-Modus angezeigt. Im Gegensatz zum IE9-Modus respektiert der IE9-Emulationsmodus die Direktive.

  • Der IE8-Emulationsmodus weist Internet Explorer an, anhand der Direktive zu bestimmen, wie Inhalte gerendert werden sollen. Direktiven im Standardmodus werden im IE8-Modus und Direktiven im Quirks-Modus im IE5-Modus angezeigt. Im Gegensatz zum IE8-Modus respektiert der IE8-Emulationsmodus die Direktive.

  • Der IE7-Emulationsmodus weist Internet Explorer an, anhand der Direktive zu bestimmen, wie Inhalte gerendert werden sollen. Direktiven im Standardmodus werden im Internet Explorer 7-Standardmodus und Direktiven im Quirks-Modus im IE5-Modus angezeigt. Im Gegensatz zum IE7-Modus respektiert der IE7-Emulationsmodus die Direktive. Für viele Websites ist dies der bevorzugte Kompatibilitätsmodus.

  • Im IE5-Modus werden Inhalte so gerendert, als ob sie im Quirks-Modus von Internet Explorer 7 angezeigt würden, was der Darstellung von Inhalten in Microsoft Internet Explorer 5 sehr ähnlich ist.

IE10 HINWEIS: Ab IE10 verhält sich der Quirks-Modus anders als in früheren Versionen des Browsers . In IE9 und früheren Versionen beschränkte der Quirks-Modus die Webseite auf die von IE5.5 unterstützten Funktionen. In IE10 entspricht der Quirks-Modus den in der HTML5-Spezifikation angegebenen Unterschieden.

Ich persönlich wähle immer das Meta-Tag http-equiv="X-UA-Compatible" content="IE=Edge", da ältere Versionen viele Fehler aufweisen und ich nicht möchte, dass IE in den "Kompatibilitätsmodus" wechselt und meine Website als IE7 vs IE8 oder 9. Ich bevorzuge immer die neueste Version von IE.

IE11

Von Microsoft :

Ab IE11 ist der Edge-Modus der bevorzugte Dokumentmodus. Es stellt die höchste Unterstützung für moderne Standards dar, die dem Browser zur Verfügung stehen.

Verwenden Sie die HTML5-Dokumenttypdeklaration, um den Edge-Modus zu aktivieren:

<!doctype html>

Der Edge-Modus wurde in Internet Explorer 8 eingeführt und war in jeder nachfolgenden Version verfügbar. Beachten Sie, dass die vom Edge-Modus unterstützten Funktionen auf die Funktionen beschränkt sind, die von der spezifischen Version des Browsers unterstützt werden, der den Inhalt wiedergibt.

Ab IE11 sind die Dokumentmodi veraltet und sollten nur vorübergehend verwendet werden. Aktualisieren Sie Websites, die auf älteren Funktionen und Dokumentmodi basieren, um den modernen Standards zu entsprechen.

Wenn Sie auf einen bestimmten Dokumentmodus abzielen müssen, damit Ihre Site funktioniert, während Sie sie überarbeiten, um moderne Standards und Funktionen zu unterstützen, beachten Sie, dass Sie eine Übergangsfunktion verwenden, die in zukünftigen Versionen möglicherweise nicht verfügbar ist.

Wenn Sie derzeit den x-ua-kompatiblen Header verwenden, um auf einen älteren Dokumentmodus zuzugreifen, gibt Ihre Site möglicherweise nicht die beste Erfahrung wieder, die mit IE11 verfügbar ist.

Microsoft Edge (Ersatz für den im Lieferumfang von Windows 10 enthaltenen Internet Explorer)

Informationen zum X-UA-Compatible Meta-Tag für die "Edge" -Version des IE. von Microsoft :

Einführung in den "lebenden" Edge-Dokumentmodus

Wie wir im August 2013 angekündigt haben, werden die Dokumentmodi ab IE11 nicht mehr unterstützt. Mit unseren neuesten Plattformaktualisierungen ist der Bedarf an älteren Dokumentenmodi hauptsächlich auf ältere Enterprise-Webanwendungen beschränkt. Mit den neuen Änderungen an der Architektur werden diese älteren Dokumentmodi von den Änderungen im "lebenden" Edge-Modus isoliert, wodurch Kunden, die von diesen Modi abhängig sind, eine weitaus höhere Kompatibilität erhalten und wir bei Verbesserungen in Edge noch schneller vorankommen können . IE berücksichtigt weiterhin Dokumentmodi, die von Intranetsites, Sites in der Liste "Kompatibilitätsansicht" und nur im Enterprise-Modus bereitgestellt werden.

Öffentliche Internetseiten werden mit der neuen Edge-Modus-Plattform gerendert (ohne Berücksichtigung von X-UA-kompatibel). Es ist unser Ziel, dass Edge von hier aus der "lebende" Dokumentmodus ist und in Zukunft keine weiteren Dokumentmodi mehr eingeführt werden.

Mit den Änderungen in Microsoft Edge, die den Dokumentmodus in den meisten Fällen nicht mehr unterstützen, hat Microsoft ein Tool , um Ihre Site zu scannen und zu prüfen, ob Code mit Edge nicht kompatibel ist.

Chrome = 1 Info für IE

Es gibt auch chrome=1, das Sie verwenden oder zusammen mit einer der oben genannten Optionen verwenden können, z. B .: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">. chrome=1 steht für den Chrome Frame von Google, der wie folgt definiert ist:

Google Chrome Frame ist ein Open-Source-Browser-Plug-In. Nutzer, auf denen das Plug-in installiert ist, haben Zugriff auf die offenen Webtechnologien von Google Chrome und die schnelle JavaScript-Engine, wenn sie Seiten im Browser öffnen.

Google Chrome Frame verbessert nahtlos Ihre Browsererfahrung in Internet Explorer. Es zeigt Google Chrome Frame-fähige Websites an, die die Rendering-Technologie von Google Chrome verwenden, und ermöglicht Ihnen den Zugriff auf die neuesten HTML5-Funktionen sowie die Leistungs- und Sicherheitsfunktionen von Google Chrome, ohne die normale Nutzung Ihres Browsers zu unterbrechen.

Wenn Google Chrome Frame installiert ist, wird das Web nur besser, ohne dass Sie darüber nachdenken müssen.

Damit dieses Plug-in funktioniert, müssen Sie jedoch chrome=1 im Meta-Tag X-UA-Compatible verwenden.

Weitere Informationen zu Chrome Frame finden Sie hier .

Hinweis: Google Chrome Frame funktioniert nur für IE6 bis IE9 und wurde am 25. Februar eingestellt. 2014. Weitere Informationen finden Sie hier . Danke an @mck für den Link.

Validierung:

HTML5 :

Die Seite wird nur mit dem W3 Validator validiert, wenn <meta http-equiv="X-UA-Compatible" content="IE=Edge"> verwendet wird. Bei anderen Werten wird der Fehler ausgelöst: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=Edge. Mit anderen Worten, wenn Sie IE=Edge,chrome=1 haben, wird die Überprüfung nicht durchgeführt. Ich ignoriere diesen Fehler vollständig, da moderne Browser diese Codezeile einfach ignorieren.

Wenn Sie einen vollständig gültigen Code benötigen, sollten Sie dies auf Serverebene tun, indem Sie den HTTP-Header festlegen. Als Hinweis sagt Microsoft: If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header). Weitere Informationen zum Festlegen eines HTTP-Headers finden Sie unter Antwort von olibre oder Antwort von bitinn .

XHTML

Bei der Verwendung von <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> tritt bei der Validierung kein Problem auf, solange das Tag ordnungsgemäß geschlossen ist (d. H. /> vs >).

Twitter Bootstrap

Dieses Tag wird seit mindestens 2014 vom Team Bootstrap dringend empfohlen, und Bootlint , der vom Team twbs verfasste Linter wirft weiterhin ein Warnung Wenn das Tag weggelassen wird. Der Linter unterscheidet zwischen Warnungen und Fehlern, weshalb die Schwere des Weglassens dieses Tags als geringfügig angesehen werden kann.


Weitere Informationen zu X-UA-Compatible finden Sie unter Microsoft Website zur Definition der Dokumentenkompatibilität .

Weitere Informationen dazu, was IE unterstützt, finden Sie unter caniuse.com .

Weitere Informationen zu den Anforderungen für Twitter Bootstrap finden Sie im Bootlint-Projekt Wiki-Seite .

1613
L84

Verwenden Sie _content=_ "IE=Edge,chrome=1" Überspringen Sie andere _X-UA-Compatible_ Modi

_<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
                                   -------------------------- 
_
  • Kein Kompatibilitätssymbol
    In der IE9-Adressleiste wird die Schaltfläche Kompatibilitätsansicht ​​nicht angezeigt
    und auf der Seite wird auch kein Durcheinander von fehlenden Menüs, Bildern und Textfeldern angezeigt.

  • Funktionen
    Dieses Meta-Tag ist erforderlich, um javascript::JSON.parse() in IE8 zu aktivieren
    (auch wenn _<!DOCTYPE html>_ vorhanden ist)

  • Richtigkeit
    Rendering/Ausführung von modernem HTML/CSS/JavaScript ist valider (netter).

  • Leistung
    Die Trident Rendering Engine sollte im Edge Modus schneller laufen.


Verwendungszweck

In Ihrem HTML

_<!DOCTYPE html> 
<html> 
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
_
  • _IE=Edge_ bedeutet, dass IE die neueste (Edge-) Version seiner Rendering-Engine verwenden sollte
  • chrome=1 bedeutet, dass IE die Chrome-Rendering-Engine verwenden sollte, falls installiert

Oder besser in der Konfiguration Ihres Webservers:
(siehe auch RiaD's answer )

  • Apache wie von pixeline vorgeschlagen

    _<IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
      </IfModule>
    </IfModule>
    <IfModule mod_headers.c>
      Header append Vary User-Agent
    </IfModule>
    _
  • Nginx wie von Stef Pause vorgeschlagen

    _server {
      #...
      add_header X-UA-Compatible "IE=Edge,chrome=1";
    }
    _
  • Lack Stellvertreter wie von Lucas Riutzel vorgeschlagen

    _sub vcl_deliver {
      if( resp.http.Content-Type ~ "text/html" ) {
        set resp.http.X-UA-Compatible = "IE=Edge,chrome=1";
      }
    }
    _
  • IST (seit v7)

    _<configuration>
      <system.webServer>
         <httpProtocol>
            <customHeaders>
               <add name="X-UA-Compatible" value="IE=Edge,chrome=1" />
            </customHeaders>
         </httpProtocol>
      </system.webServer>
    </configuration>
    _

Microsoft empfiehlt Edge-Modus seit IE11

Wie von Lynda (siehe Kommentare) bemerkt, empfiehlt Kompatibilitätsänderungen in IE11 Kantenmodus :

Ab IE11 ist der Edge-Modus der bevorzugte Dokumentmodus. Es stellt die höchste Unterstützung für moderne Standards dar, die dem Browser zur Verfügung stehen.

Aber die Position von Microsoft war nicht klar. Eine andere MSDN-Seite empfahl nicht Edge-Modus :

Da der Edge-Modus das Öffnen aller Seiten im Standardmodus erzwingt, und zwar unabhängig von der Version von Internet Explorer, sind Sie möglicherweise versucht, dies für alle mit Internet Explorer angezeigten Seiten zu verwenden. Tun Sie dies nicht, da der _X-UA-Compatible_ -Header nur ab Windows Internet Explorer 8 unterstützt wird.

Stattdessen empfahl Microsoft die Verwendung von _<!DOCTYPE html>_:

Wenn Sie möchten, dass alle unterstützten Versionen von Internet Explorer Ihre Seiten im Standardmodus öffnen, verwenden Sie die HTML5-Dokumenttypdeklaration [...]

Wie Ricardo (in den Kommentaren unten) erklärt, kann jeder DOCTYPE (HTML4, XHTML1 ...) verwendet werden, um den Standardmodus auszulösen, nicht nur der DOCTYPE von HTML5. Wichtig ist, dass die Seite immer einen DOCTYPE enthält.

Clara Onager hat sogar in einer älteren Version von Angeben älterer Dokumentmodi bemerkt:

Der Edge-Modus dient nur zu Testzwecken. Verwenden Sie es nicht in einer Produktionsumgebung.

Es ist so verwirrend, dass sman Y dachte Clara Onager sprach über:

Das Beispiel [...] dient nur zur Veranschaulichung; Verwenden Sie es nicht in einer Produktionsumgebung.

_<meta http-equiv="X-UA-Compatible" content="IE=7,9,10" >
_

Nun ... Im weiteren Verlauf dieser Antwort erkläre ich, warum die Verwendung von _content="IE=Edge,chrome=1"_ in der Produktion eine gute Praxis ist.


Geschichte

Für viele Jahre (2000 bis 2008) betrug IE Marktanteil mehr als 80% . Und IE v6 wurde als de facto Standard angesehen (80% bis 97%). Marktanteil in 20 , 2004, 2005 und 2006 nur für IE6, mehr Marktanteil mit allen IE Versionen).

Da IE6 Webstandards nicht einhielt, mussten Entwickler ihre Website mit IE6 testen . Diese Situation war großartig für Microsoft (MS), da Webentwickler MS-Produkte kaufen mussten (z. B. kann IE nicht ohne den Kauf von Windows verwendet werden). und es war gewinnbringender, nicht konform zu bleiben (dh Microsoft wollte zum Standard ohne andere Unternehmen werden).

Aus diesem Grund waren viele Websites nur mit dem IE6 kompatibel, und da IE nicht mit dem Webstandard kompatibel war, wurden alle diese Websites in standardkonformen Browsern nicht gut wiedergegeben. Noch schlimmer ist, viele Websites nur IE erforderlich .

Zu diesem Zeitpunkt begann Mozilla jedoch mit der Entwicklung von Firefox, wobei alle Webstandards so weit wie möglich beachtet wurden (andere Browser wurden implementiert, um Seiten wie im IE6 zu rendern). Da immer mehr Webentwickler die neuen Webstandard-Funktionen nutzen wollten, wurden immer mehr Websites von Firefox unterstützt als vom IE.

Als der Marktanteil IE abnahm, wurde den MS klar, dass es keine gute Idee war, den Standard nicht zu ändern. Daher hat MS begonnen, eine neue IE Version (IE8/IE9/IE10) herauszubringen, die immer mehr die Webstandards respektiert.


Das mit dem Internet nicht kompatible Problem

Das Problem sind jedoch alle Websites, die für IE6 entwickelt wurden: Microsoft konnte keine neuen IE Versionen veröffentlichen, die nicht mit diesen alten, von IE6 entworfenen Websites kompatibel sind. Anstatt die IE -Version einer Website herzuleiten, forderte MS die Entwickler auf, ihren Seiten zusätzliche Daten (_X-UA-Compatible_) hinzuzufügen.

IE6 wird noch im Jahr 2016 verwendet

Heutzutage wird immer noch IE6 verwendet (0,7% im Jahr 2016) (4,5% im Januar 2014), und einige Internet-Websites sind immer noch nur IE6-konform. Einige Intranet-Websites/-Anwendungen werden mit IE6 getestet. Einige Intranet-Websites sind nur in IE6 zu 100% funktionsfähig. Diese Unternehmen/Abteilungen ziehen es vor, die Migrationskosten zu verschieben: Andere Prioritäten, niemand weiß mehr, wie die Website/Anwendung implementiert wurde, der Eigentümer der alten Website/Anwendung ist bankrott gegangen ...

China macht 2013 50% der IE6-Nutzung aus, kann sich jedoch in den nächsten Jahren ändern, da die chinesische Linux-Distribution wird gesendet .

Seien Sie zuversichtlich mit Ihren Webfähigkeiten

Wenn Sie den Webstandard respektieren (versuchen), können Sie einfach immer _http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"_ verwenden. Um die Kompatibilität mit alten Browsern zu gewährleisten, sollten Sie nur die neuesten Webfunktionen vermeiden: Verwenden Sie die Teilmenge des ältesten Browsers, den Sie unterstützen möchten. Oder wenn Sie weiter gehen möchten, können Sie Konzepte wie Graceful Degradation , Progressive Enhancement ​​und nauffälliges JavaScript ​​übernehmen. (Sie können auch gerne lesen Was sollte ein Webentwickler beachten? .)

Kümmern Sie sich nicht um das beste IE -Versions-Rendering: Dies ist nicht Ihre Aufgabe, da die Browser den Webstandards entsprechen müssen. Wenn Ihre Website standardkonform ist und mäßig aktuelle Funktionen verwendet, müssen Browser mit Ihrer Website kompatibel sein .

Da es außerdem viele Kampagnen gibt, mit denen IE6 getötet werden kann ( IE6 nicht mehr , MS-Kampagne ), können Sie heutzutage die Verschwendung vermeiden Zeit mit IE testen!

Persönliche IE6-Erfahrung

In den Jahren 2009-2012 arbeitete ich für ein Unternehmen, das IE6 als zulässigen offiziellen Einzelbrowser verwendete . Ich musste eine Intranet-Website nur für IE6 implementieren. Ich habe beschlossen, den Webstandard zu respektieren, aber die IE6-fähige Teilmenge (HTML/CSS/JS) zu verwenden.

Es war schwer, aber als das Unternehmen auf IE8 umstieg, wurde die Website immer noch gut gerendert, da ich Firefox und firebug verwendet hatte, um die Kompatibilität mit dem Webstandard zu überprüfen;)

323
olibre

Der Unterschied besteht darin, dass, wenn Sie nur DOCTYPE angeben, die Einstellungen der Kompatibilitätsansicht Vorrang haben. Standardmäßig werden mit diesen Einstellungen alle Intranetsites unabhängig von DOCTYPE in die Kompatibilitätsansicht versetzt. Es gibt auch ein Kontrollkästchen zur Verwendung der Kompatibilitätsansicht für alle Websites, unabhängig von DOCTYPE.

IE Compatibility View Settings dialog

X-UA-Compatible überschreibt die Einstellungen für die Kompatibilitätsansicht, sodass die Seite unabhängig von den Browsereinstellungen im Standardmodus gerendert wird. Dies erzwingt den Standardmodus für:

  • intranetseiten
  • externe Webseiten, wenn der Computeradministrator "Alle Websites in der Kompatibilitätsansicht anzeigen" als Standard ausgewählt hat - denken Sie an große Unternehmen, Regierungen und Universitäten
  • wenn Sie versehentlich in der Microsoft Compatibility View List landen
  • fälle, in denen Benutzer Ihre Website manuell zur Liste in den Einstellungen für die Kompatibilitätsansicht hinzugefügt haben

DOCTYPE allein kann das nicht; Sie gelangen in diesen Fällen unabhängig von DOCTYPE in einen der Kompatibilitätsansichtsmodi.

Wenn sowohl das Tag meta als auch der HTTP-Header angegeben werden, hat das Tag meta Vorrang.

Diese Antwort basiert auf der Prüfung der vollständigen Regeln für die Entscheidung über den Dokumentmodus in IE8 , IE9 und . IE10 . Beachten Sie, dass das Betrachten von DOCTYPE der allerletzte Fallback für die Entscheidung über den Dokumentmodus ist.

57
andrewdotn

Verwenden Sie diese Option, um IE zu erzwingen, dass die nervige Schaltfläche für die Browserkompatibilität in der Adressleiste ausgeblendet wird:

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

Da ich der markierten Antwort keinen Kommentar hinzufügen kann, werde ich dies hier posten.

Zusätzlich zur richtigen Antwort können Sie diese tatsächlich validieren lassen. Da dieses Meta-Tag nur für IE bestimmt ist, müssen Sie lediglich eine IE-Bedingung hinzufügen.

<!--[if IE]>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<![endif]-->

Dies funktioniert genauso wie das Hinzufügen anderer IE bedingter Anweisungen und funktioniert nur für IE. Andere Browser sind davon nicht betroffen.

23
EMurph78

Ich denke, dieses Diagramm von Microsoft erklärt alles. Um IE mitzuteilen, wie der Inhalt gerendert werden soll, muss! DOCTYPE mit einem X-UA-kompatiblen Meta-Tag arbeiten. ! DOCTYPE selbst hat keine Auswirkung auf das Ändern des IE -Dokumentmodus.

enter image description here

http://ie.Microsoft.com/testdrive/ieblog/2010/Mar/02_HowIE8DeterminesDocumentMode_3.png

15
James Tsai

Der Vollständigkeit halber müssen Sie es nicht zu Ihrem HTML-Code hinzufügen (der in HTML5 als http-Äquiv. Nicht bekannt ist).

Tun Sie dies und schauen Sie niemals zurück (erstes Beispiel für Apache, zweites Beispiel für nginx)

Header set X-UA-Compatible "IE=Edge,chrome=1"

add_header X-UA-Compatible "IE=Edge,chrome=1";
11
bitinn

Nur ein Satz zu sagen Weisen Sie Internet Explorer an, die neueste Rendering-Engine zu verwenden

<meta http-equiv="x-ua-compatible" content="ie=Edge">
8
Bipon Biswas
<meta http-equiv="X-UA-Compatible" content="IE=Edge">

Stellen Sie sicher, dass:

  1. Es ist das erste Element direkt nach <head>
  2. Nein bedingte Kommentare werden vor dem Meta-Tag verwendet, z. G. auf dem <html> -Element

Andernfalls ignorieren einige IE -Versionen es einfach.

UPDATE

Diese beiden Regeln sind vereinfacht, aber leicht zu merken und zu überprüfen. Obwohl MSDN-Dokumente besagen, dass Sie Titel und andere Meta-Tags vor dieses setzen können, würde ich dies nicht empfehlen.

Wie funktioniert es mit bedingten Kommentaren?

Interessanter Artikel über die Reihenfolge der Elemente im Kopf. (blogs.msdn.com, für IE)

REFERENCE

Aus der MSDN-Dokumentation :

Der X-UA-Compatible [...] muss in der Kopfzeile der Webseite (Abschnitt HEAD) vor allen anderen Elementen außer dem title-Element und anderen Meta-Elementen stehen.

7
ToniTornado

wenn Sie Ihre Website im selben Netzwerk wie der Server verwenden, wechselt IE trotz DOCTYPE gern zu Kompatibilitätsmodus.
Hinzufügen von meta http-equiv="X-UA-Compatible" content="IE=Edge"deaktiviert dieses unerwünschte Verhalten.

4

Dies ist buchstäblich 1 Google-Abfrage entfernt , aber hier geht:

http://msdn.Microsoft.com/en-us/library/jj676915 (v = vs.85) .aspx

Grundlegende Dokumentmodi

Verwenden Sie den folgenden Wert, um die Webseite im Edge-Modus anzuzeigen, dem von Internet Explorer unterstützten Modus mit den höchsten Standards von Internet Explorer 6 bis IE11.

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

Beachten Sie , dass dies funktional der Verwendung des HTML5-Doctype entspricht. Es versetzt Internet Explorer in den höchsten unterstützten Dokumentmodus. Edge most ist am nützlichsten für regelmäßig gewartete Websites, die routinemäßig auf Interoperabilität zwischen mehreren Browsern getestet werden, einschließlich Internet Explorer.

Hinweis Ab IE11 wird der Edge-Modus als bevorzugter Dokumentmodus angesehen. (In früheren Versionen wurde dies als experimentell angesehen.) Weitere Informationen finden Sie unter Dokumentmodi sind veraltet. Ab Windows Internet Explorer 8 haben einige Webentwickler das Metaelement "Edge-Modus" verwendet, um die Schaltfläche "Kompatibilitätsansicht" in der Adressleiste auszublenden. Ab IE11 ist dies nicht mehr erforderlich, da die Schaltfläche aus der Adressleiste entfernt wurde. Da alle Seiten unabhängig von der Version von Internet Explorer im Standardmodus geöffnet werden müssen, könnten Sie versucht sein, den Edge-Modus für alle mit Internet Explorer angezeigten Seiten zu verwenden. Tun Sie dies nicht, da der X-UA-kompatible Header nur ab Internet Explorer 8 unterstützt wird.

Tipp Wenn Sie möchten, dass alle unterstützten Versionen von Internet Explorer Ihre Seiten im Standardmodus öffnen, verwenden Sie die HTML5-Dokumenttypdeklaration, wie im vorherigen Beispiel gezeigt.

Auch unter den Suchergebnissen ist:

3
Joe Mike

2.1.3.5 X-UA-Kompatibilitäts-Metatag und HTTP-Antwortheader

Diese Funktionalität wird in keiner Version von Microsoft Edge implementiert.

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=Edge" />

Siehe https://msdn.Microsoft.com/en-us/library/ff955275 (v = vs.85) .aspx

Ja, ich weiß, dass ich zu spät zur Party komme, aber ich hatte nur einige Probleme und Diskussionen, und am Ende ließ mein Chef mich das X-UA-Compatible -Tag aus allen Dokumenten entfernen, an denen ich gearbeitet habe.

Wenn diese Informationen nicht mehr aktuell oder nicht mehr relevant sind, korrigieren Sie mich bitte.

2
Shawn Spencer