Ich habe gerade IE9 Beta installiert und auf einer bestimmten Site, die ich erstellt habe (HTML5), springt IE9 in den Kompatibilitätsmodus, es sei denn, ich sage manuell, dass dies nicht der Fall ist. Ich habe versucht, einige Teile der Website zu entfernen, aber keine Änderung. Einschließlich Entfernen aller CSS-Includes. Auf einer anderen Website von mir geht es gut.
Stellen Sie es auch nicht manuell ein, da sich IE9 dann an die Benutzereinstellung erinnert und Sie es nicht wieder auf automatisch zurücksetzen können (oder zumindest habe ich nicht herausgefunden, wie, auch nicht durch privates Durchsuchen und Leeren des Cache).
Wie auch immer. Die Site, auf der der Kompatibilitätsmodus aktiviert wird: http://alliancesatwar.com/guide/
Eine Site, auf der die korrekte Darstellung erfolgt : http://geuze.name/basement/ (Ich kann nicht mehr als 1 Hyperlink posten.)
Beide verwenden das gleiche doctype
und alle. Diese Websites haben viele Gemeinsamkeiten (abgesehen vom Erscheinungsbild), wenn sie dieselbe Grundvorlage verwenden (Codierung, Meta-Tags, Doctype und dasselbe Javascript).
Es wäre toll, wenn jemand eine Antwort für mich hätte! Eine HTML5-Website, die im IE7-Modus gerendert wird, ist ziemlich ... lahm.
Antworten:
Funktioniert im IE9 documentMode für mich.
Ohne einen
X-UA-Compatible
Header / ein Meta zum Festlegen eines expliziten documentMode erhalten Sie einen Modus, der basiert auf:Sie können diese Einstellungen unter "Extras -> Einstellungen für die Kompatibilitätsansicht" im IE-Menü ändern. Natürlich ist dieses Menü jetzt versteckt, sodass Sie es erst sehen, wenn Sie Alt drücken.
Wenn Sie als Site-Autor sicher sind, dass Ihre Site den Standards entspricht (wird in anderen Browsern gut wiedergegeben und mithilfe von Feature-Sniffing entschieden, welche Browser-Problemumgehungen verwendet werden sollen), empfehle ich Folgendes:
oder der HTTP-Header:
um den neuesten Renderer zu erhalten, unabhängig davon, welche IE-Version verwendet wird.
quelle
<meta>
Tags müssen innerhalb der ersten 512 Bytes einer verarbeiteten HTML-Datei liegen. Ich sage "verarbeitet", weil Sie dort oben alle Arten von PHP haben können, aber der gerenderte Code ist wichtig. Ich bin dort angekommen, wo ich alle meine Kommentare<meta>
unter die<meta>
Tags gesetzt habe, damit ich die Anforderung nicht verletze.ich lege
als erstes danach
(Ich habe es irgendwo gelesen, ich kann mich nicht erinnern)
Ich konnte nicht glauben, dass es funktioniert hat !!
quelle
<script>
s innen<head>
vor diesermeta
Aussage, es (IE = Flanke) wird ignoriert.Um den IE zum Rendern im IE9-Standardmodus zu zwingen, sollten Sie verwenden
Einige Bedingungen können dazu führen, dass IE9 in die Kompatibilitätsmodi wechselt. Standardmäßig kann dies auf Intranetsites auftreten.
quelle
IE=edge
stattdessen verwendet wird. Dabei wird immer die Verwendung der neuesten verfügbaren Engine aufgerufen.Ich habe diesen Kommentar in einem separaten StackOverflow-Thread gepostet, dachte aber, dass es sich lohnt, ihn hier zu wiederholen:
Für unsere interne ASP.Net-App machte das Hinzufügen des Tags "X-UA-kompatibel" auf der Webseite, in der web.config oder im Code-Behind absolut keinen Unterschied.
Das einzige, was für uns funktioniert hat, war, diese Einstellung in IE8 manuell zu deaktivieren:
(Seufzer.)
Dieses Problem scheint nur bei IE8 und IE9 auf Intranetseiten aufzutreten. Externe Websites funktionieren einwandfrei und verwenden die richtige Version von IE8 / 9, aber für interne Websites entscheidet IE9 plötzlich, dass es sich tatsächlich um IE7 handelt, und unterstützt HTML 5 nicht.
Nein, ich verstehe diese Logik auch nicht ganz.
Meine widerstrebende Lösung bestand darin, zu testen, ob der Browser HTML 5-Unterstützung bietet (indem ich eine Zeichenfläche erstelle und prüfe, ob sie gültig ist) und diese Nachricht dem Benutzer anzuzeigen, wenn sie nicht gültig ist:
Es ist nicht besonders benutzerfreundlich, aber es scheint die einzige Möglichkeit zu sein, interne HTML 5-Webanwendungen ordnungsgemäß auszuführen, wenn der Benutzer diese nervige Einstellung deaktiviert.
Oder bringen Sie die Benutzer dazu, Chrome zu verwenden. ;-);
quelle
Die Website unter http://www.HTML-5.com/index.html verfügt zwar über das X-UA-kompatible Meta-Tag, wechselt jedoch weiterhin in die Kompatibilitätsansicht, wie durch das Symbol "zerrissene Seite" in der Adressleiste angezeigt. Wie erhalten Sie die Menüoption, um IE 9 (Final Version 9.0.8112.16421) zum Rendern einer Seite im Standardmodus zu zwingen? Ich habe versucht, mit der rechten Maustaste auf das Symbol der zerrissenen Seite sowie auf den Trick "Alt" zu klicken, um die von Rene Geuze erwähnten zusätzlichen Menüoptionen anzuzeigen, aber diese haben nicht funktioniert.
quelle
application/xhtml+xml
bereit, daher werden XML-Parsing-Regeln verwendet. XML unterstützt keine bedingten Kommentare. Auf jeden Fall macht es keinen Sinn; Der Browser muss einen Modus auswählen, bevor er entscheiden kann, welche bedingten Kommentare interpretiert werden sollen.Abgesehen davon, dass Sie auf moderneren Websites bedingte Anweisungen für Ihr HTML-Tag gemäß Boilerplate verwenden, führt dies aus irgendeinem Grund dazu, dass ie9 standardmäßig den Kompatibilitätsmodus verwendet. Die Lösung hier besteht darin, Ihre bedingten Anweisungen aus dem HTML-Tag zu verschieben und sie dem Body-Tag hinzuzufügen, dh aus dem Kopfabschnitt. Auf diese Weise können Sie diese Klassen in Ihrem Stylesheet weiterhin verwenden, um ältere Browser anzusprechen.
quelle
Sieht für mich gut aus:
Bist du sicher, dass du die Einstellungen nicht global vorgenommen hast oder so? Dies ist eine Neuinstallation der Beta unter Windows 7. Die Entwicklertools melden, dass die Seite standardmäßig den IE9-Standardmodus verwendet.
quelle
Ich musste dieses Problem kürzlich beheben und habe Folgendes getan:
Bei dieser Lösung geht es zunächst darum, den Apache-Server zu optimieren.
Der zweite Hauptgedanke ist, dass es einen Fehler im IE9 gibt, was bedeutet, dass das Meta-Tag nicht funktioniert. Versuchen Sie dies anstelle dieser Lösung
Kommentar entfernen / oder folgende Zeile hinzufügen
Fügen Sie die folgenden Zeilen hinzu
Speichern / Starten Sie Ihren Apache-Server neu.
quelle