Ich habe eine .Net-Webanwendung, die eine web.config-Einstellung enthält, damit Internet Explorer den Kompatibilitätsmodus deaktiviert und die neueste Version von IE verwendet verfügbar:Überschreibe X-UA-kompatible Einstellungen in web.config für bestimmte Seiten und Frames
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Diese Anwendung enthält jedoch eine Legacy-Seite, die den Kompatibilitätsmodus erfordert. In meinen Tests wird es nur richtig angezeigt, wenn X-UA-Compatible
auf IE=5
eingestellt ist.
Gibt es eine Möglichkeit, die Einstellung web.config für eine einzelne Seite zu überschreiben?
Unter den vielen Dingen, die ich versucht habe, die nicht gearbeitet haben:
- Einschließlich
<meta http-equiv="X-UA-Compatible" content="IE=5" />
auf der Seite selbst, als den ersten Tag nach<head>
X-UA-Compatible:IE=5
auf die Response-Header hinzufügen. Leider sendet es auch den HeaderX-UA-Compatible:IE=Edge
, und dieser "gewinnt".- Ändern der
<!DOCTYPE >
. Ich habe alle möglichen Optionen ausprobiert. - Hinzufügen eines Kommentars vor dem DOCTYPE
- Umschreiben der Seite als standardkonform. Dies ist offensichtlich die beste Lösung, aber die fragliche Seite ist eine komplexe Kartenanwendung, und das Umschreiben wird mehrere Monate dauern.
aktualisieren
Als ich dies als „eine komplexe Mapping-Anwendung:“ Ich hätte sagen sollen „ein Rattennest von Frames und Tabellen.“ Es stellt sich heraus, dass der Rahmen Teil für die Lösung relevant war.
Haben Sie versucht, den vorhandenen X-UA-kompatiblen Header zuerst zu entfernen, bevor Sie den zweiten Header aus der Header-Sammlung hinzufügen? Haben Sie auch versucht, den Doctype vollständig zu entfernen? –
Ich hatte beide Vorschläge bereits ausprobiert, aber Ihr Vorschlag, die Header zu löschen, spornte mich an, dasselbe auf allen Frames zu versuchen, also danke! – xcer