Überschreiben Sie den Intranet-Kompatibilitätsmodus IE8
Standardmäßig IE8 Kräfte Intranetsites in Kompatibilitätsmodus. Ich habe versucht, die änderung der meta-header den IE8, aber es nicht anerkennen, die meta-header und benutzt nur die browser-Einstellung. Weiß jemand, wie man diese Option deaktivieren?
InformationsquelleAutor der Frage sanpall | 2010-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich, das überschreiben der Kompatibilitätsmodus im intranet.
Für IIS, fügen Sie einfach den code unten auf das web.config. Hat bei mir mit IE9.
Äquivalent für Apache:
Und für nginx:
Und für express.js:
InformationsquelleAutor der Antwort Andras Csehi
Michael Irigoyen ist richtig, ABER es ist ein wenig komplizierter...
wenn Sie die wunderbaren boilerplate von Paul Irish, dann haben Sie etwas wie die folgenden:-
Diese NICHT wie erwartet funktioniert, und die Kraft im IE in den Kompatibilitätsmodus ein Intranet Umgebung, wenn Sie die "Display Intranetsites in Kompatibilitätsansicht anzeigen" aktiviert ist. Sie müssen entfernen Sie die bedingte IE Kommentare zu verhindern Intranet-Kompatibilitätsmodus.
Also der folgende code funktioniert:
Grundsätzlich, wenn Sie die trigger-bedingten IE Kommentare vor der
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- Anweisung, dann werden Sie gezwungen werden, in Kompatibilität Modus in Intranet Umwelt, wenn Sie mit IE9 mit Standardeinstellungen.UPDATE — ZUSÄTZLICHE INFO: Aber beachten Sie, dass es gibt einen trick, das machen die HTML5-boilplate Arbeit:
Fügen Sie eine leere, bedingten Kommentar vor der DOCTYPE. Und beachten Sie bitte auch, dass, wenn Sie tun dassdann können Sie auch fügen Sie bedingte Kommentare rund um die
X-UA-Compatible
Richtlinie, dass die Seite HTML5-genauso gültig. So zum Beispiel:Einen blog-post, wurde inspiriert durch den ersten Teil dieser Antworthat mehr Details. Und übrigens: Wie bereits erwähnt in diesem blog-post, den kann man auch ersetzen die bedingten Kommentar vor der DOCTYPE-mit einem semi bedingte Kommentar mit keine Bedingung:
<!--[]-->
. So wie so:Aber beachten Sie, dass die letztere Variante (
<--[]--><!DOCTYPE html>
) wird, wie bereits erläutert e werden.g von diese Antwort auf eine andere Frageaktivieren der bekannten problem, dass es — für ältere IE-Versionen ohne Unterstützung für dieX-UA-Compatioble
(gelesen: für IE7 und IE6) — bringen Sie den browser in den quirks-Modus.InformationsquelleAutor der Antwort Andrew
Wenn Sie pull-down-Menü "Extras" und wählen Sie "Einstellungen der Kompatibilitätsansicht" Auf das Dialogfeld am unteren Ende ist eine Einstellung "Anzeige Intranetsites in Kompatibilitätsmodus". Wenn Sie dies deaktivieren, das sollte das problem beheben, und der IE wird mit der Modus-basiert auf dem DOCTYPE.
InformationsquelleAutor der Antwort PilotBob
Gibt es eine gewisse Verwirrung in den Antworten zu dieser Frage.
Die top-Antwort ist derzeit eine server-side-Lösung, die setzt ein flag im http-header und einige Kommentare, die darauf hinweist, dass eine Lösung mit einem meta-tag funktioniert einfach nicht.
Ich denke, dieser blog-Eintrag gibt einen schönen überblick über die Verwendung Kompatibilität mit meta-Informationen und meiner Erfahrung nach funktioniert wie beschrieben:
http://blogs.msdn.com/b/cjacks/archive/2012/02/29/using-x-ua-compatible-to-create-durable-enterprise-web-applications.aspx
Die wichtigsten Punkte:
Einen wichtigen Punkt (und ich denke, dass viel Verwirrung kommt von diesem Punkt) ist, dass der IE hat zwei "Klassen" von-Modi:
Den Dokument-Modus bestimmt die rendering-engine (wie ist die web-Seite gerendert wird).
Browser-Modus legt fest, was der User-Agent (UA) string-IE sendet an Server, was für ein Dokument-Modus IE standardmäßig, und wie der IE wertet Conditional Comments.
Mehr auf die Informationen zu den Dokument-Modus vs. browser-Modus finden Sie in diesem Artikel: http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx?Redirected=true
In meiner Erfahrung ist die Kompatibilität mit meta-Daten nur Einfluss auf die Dokument-Modus. Also, wenn Sie sich auf browser-Erkennung, das wird dir nicht helfen. Aber, wenn Sie mit feature-Erkennung sollte dies der Weg zu gehen.
Also ich würde empfehlen die Verwendung des meta-Tags (in html-Seite) mithilfe dieser syntax:
Hinweis: geben Sie eine Liste von browser-Modi, die Sie getestet haben.
Dem blog-post auch Ratschläge gegen die Verwendung von EmulateIEX. Hier ein Zitat:
InformationsquelleAutor der Antwort stefan.s
Versuchen, diese metatag:
Sollte es force IE8 zu Rendern als IE8 Standard-Modus, selbst wenn "Display Intranetsites in Kompatibilitätsansicht anzeigen" aktiviert ist [entweder im intranet oder alle websites],ich habe es versucht, mein selbst auf IE 8.0.6
InformationsquelleAutor der Antwort Ala' Alnajjar
Unser system-admin hat dieses Problem behoben durch deaktivieren der box weltweit für unsere Organisation. Die Benutzer brauchen nicht einmal zu melden.
InformationsquelleAutor der Antwort James Lawruk
Fand ich eine funktionierende Antwort, die es ermöglichen, zu überschreiben geprüft Intranet-Kompatibilität Anzeigen.
Nur in der OnInit-event von Ihrer Seite dieser Linie (keine meta-oder web.config customHeader müssen):
InformationsquelleAutor der Antwort user1372152
Versuchen, indem Sie Folgendes in den header:
Höflichkeit Paul Irish-HTML5-Boilerplate (aber es funktioniert in XHTML Transitional).
InformationsquelleAutor der Antwort Gabe
War ich in der Lage zu überschreiben Kompatibilität-Modus durch die Angabe der meta-Tags als DER ERSTE TAG in den head-Bereich, nicht nur beim ersten meta-tag, aber wie und erst als die ERSTEN TAG.
Dank @stefan.s für einen Scherz mit mir auf, um es in Ihre ausgezeichnete Antwort. Vor dem Lesen, dass ich hatte:
FUNKTIONIERTE DIES NICHT
zog den link-tag aus dem Weg, und es funktionierte
DIES FUNKTIONIERT:
So ein IE8-client festgelegt, um die Kompatibilität rendert die Seite wie IE8 Standard-Modus - das content= "IE=9' bedeutet, dass die Verwendung der höchsten verfügbaren standard bis einschließlich IE9.
InformationsquelleAutor der Antwort PeteS_UK
Dies ist nicht wirklich eine Lösung, aber ich fühle, es ist das beste. Auf unseren intranet-Seiten, auf die wir Menschen sagen, es kann nur zugegriffen werden, die von Firefox, wir nehmen nicht freundlich zu IE-Nutzer hier in der Nähe. Überprüfen Sie den Benutzer-agent auf dem server oder client-Seite und verweigern Ihnen den Zugriff vom IE. Und ich bin eine .NET-Programmierer.
InformationsquelleAutor der Antwort Caimen
Hatte ich kämpfte mit diesem Problem und wollte helfen, bieten eine einzigartige Lösung und Einsicht.
Bestimmte AJAX-basierten frameworks injizieren javascripts und stylesheets am Anfang der
<head>
- und dies zu tun, scheint um zu verhindern, dass die etablierten meta-tag-Lösung ordnungsgemäß funktioniert. In diesem Fall fand ich, dass direkt die Injektion in die HTTP-response-header, ähnlich wie Andras Csehi Antwort wird das problem lösen.Für diejenigen von uns, die mit Java-Servlets jedoch eine gute Möglichkeit, dies zu lösen, ist die Verwendung einer ServletFilter.
InformationsquelleAutor der Antwort maple_shaft
Wir dieses problem beheben können, in Spring-Apache-tomcat-Umgebung durch das hinzufügen einer einzelnen Zeile in RequestInterceptor Methode -
Referenz - Wie Sie filter erstellen und ändern-Antwort-header Es wird erläutert, wie wir dieses problem beheben können, über eine RequestInterceptor (Frühjahr).
InformationsquelleAutor der Antwort JackSparrow
Wenn Sie möchten, dass Ihre Web site zu zwingen, den IE 8-standards-Modus, dann verwenden Sie diesen meta-Tag wird zusammen mit einem gültigen DOCTYPE:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
Beachten Sie die "EmulateIE8" Wert, anstatt des plain "IE8".
Laut IE Entwickler, sollte dieses "Display-Standards DOCTYPEs im IE8-Standards-Modus; Anzeige Quirks-DOCTYPE im Quirks-Modus. Verwenden Sie dieses tag überschreiben-Kompatibilität-Ansicht auf den client-Maschinen und Kraft-Standards auf IE8 Standards".
mehr info auf das IE-blog post: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx
InformationsquelleAutor der Antwort ashtonium
Diese Frage ist ein Duplikat von Kraft "Internet Explorer 8" browser-Modus im intranet.
Die Antworten gibt es darauf hinweisen, dass es nicht möglich ist, deaktivieren Sie die Kompatibilitätsansicht (auf der server-Seite) - https://stackoverflow.com/a/4130343/24267. Das ist sicherlich der Fall zu sein scheint, denn keiner der Vorschläge, die ich habe versucht, gearbeitet haben. Im IE8 die "Browser-Modus" wird festgelegt, um Internet Explorer 8 Compatibility-Ansicht, egal welche Art von " X-UA-Compatible-header, die Sie senden.
Ich hatte zu tun, einige spezielle Behandlung für IE7 und Kompatibilität-Modus, durch den browser zu Rendern mit IE8, aber melden Sie es war, IE7, brach mein code.
Dies ist, wie ich fest meine-code (ich bin mir bewusst, dies ist eine schreckliche hack, und ich sollte testen für Funktionen, die nicht browser-Versionen):
InformationsquelleAutor der Antwort mhenry1384
Hatte das gleiche problem. Es funktionierte durch die Verwendung
InformationsquelleAutor der Antwort Sandro
Fügen Sie diese in Ihre Seiten-Kopf-tag (für die IE-version, die Sie wollen):
Hinweis, dies ändert NICHT die Tatsache, dass der browser sagt, dass seine im Kompatibilitätsmodus (genannt browser-Modus), aber die Seite wird die Darstellung im IE8-standards-Modus. Wenn NOCH nicht das Rendern, wie Sie es wünschen, seine wahrscheinlich, weil Sie haben javascript fälschlicherweise überprüfung der I. E.-version. Sehen in den folgenden blog-postum zu bestimmen, welche Eigenschaft sollten Sie keying "aus, weil selbst wenn Sie die meta X-UA-Compatible-tag, der user-agent-string wird immer noch sagen, "MSIE 7.0".
In meinem Fall, für die Korrektur ich hatte, um einen Scheck für den IE7-Kompatibilitätsmodus. Ich habe also mit einem einfachen javascript-code:
InformationsquelleAutor der Antwort n00b
Für jemand anderes dies Lesen, suchen, deaktivieren Sie diese per GPO für alle user, dies ist die Einstellung:
Computerkonfiguration/Administrative Vorlagen/Windows-Komponenten/Internetexplorer/Kompatibilitätsansicht/Schalten Sie Internet Explorer-Standards-Modus für Lokales Intranet
obwohl das web.config Bearbeiten es fest für mich.
InformationsquelleAutor der Antwort Schrodo_Baggins
Stefan' S Kommentar zu den Dokument-Modus versus browser-Modus waren sehr relevant für mein problem.
Habe ich die X-UA-Inhalt meta-Daten in der Seite, aber ich war auf client-Seite testen, die browser-version über
navigator.appVersion
. Dieser test spiegelt nicht die meta-Daten ein, denn es gibt Sie den browser-Modus nicht der Dokument-Modus.Die Antwort für mich zu testen, wurde die
document.documentMode
etwas wie:Nun, meine meta X-UA-Content-tag spiegelt sich in meinem browser testen.
Warum mache ich so ein runzelte die Stirn-auf die Sache als test-browser? Geschwindigkeit. Verschiedene meiner jQuery-add-ins, wie tablesorter einfach zu langsam auf IE6/7, und ich möchte, um Sie auszuschalten. Ich bin mir nicht sicher, dass die Tests für browser-Funktionen können mir helfen, dieses Problem lösen sonst.
InformationsquelleAutor der Antwort Herc
Ändern Sie den Header in .htaccess
Fand die Lösung für dieses problem hier: https://github.com/h5bp/html5-boilerplate/issues/378
InformationsquelleAutor der Antwort user1858301