2012-11-22 5 views
10

Als ich eine neue asp.net MVC App getestet habe ich auf einem anderen Computer erstellt das Layout war falsch und schien seltsam in IE9. Bei der Betrachtung der Entwicklerwerkzeuge wurden der Modus/die Standards auf ältere Versionen und sogar den Kompatibilitätsmodus eingestellt. Ich änderte das wieder in IE9 und war wieder in Ordnung.MVC App verursacht IE9, ältere Standards zu verwenden

Aber dann, als ich die Website wieder öffnete, hatte es diese Werte wieder zurück gesetzt, gibt es einige Standard für diese, die überschreiben oder ist meine App aus irgendeinem Grund diese Werte zu älteren Versionen zu ändern?

+0

Bitte, hör auf dem Abschnitt "ASP.NET MVC" einfach als "MVC". Eines ist ein Framework, während das andere ein sprachunabhängiges Designmuster ist.Es ist wie IE - "das Internet" rufen –

+0

Ja, ich weiß, dass, schlechte Angewohnheit wird sich ändern. – user1166905

Antwort

20

Es gibt einige Mechanismen, die die IE-Browser-Familie verwendet, um zu erraten, welcher Rendering-Modus der beste wäre. Es gibt mehr Lesung zu diesem Thema:

X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode

So gibt es eine Art und Weise, wie zu sagen, die IE-Version Sie zielen. Setzen Sie diesen HTML-Tag als erste (wirklich die erste) im <head> Element nach dem <title>

<!DOCTYPE html> 
<html> 
    <head> 
    <title>My Web</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=100" > 
    ... 

Inhalt sollte contain="IE=8" sein, wenn Sie IE Targeting 8.0, IE = 100 wird 9,0 ++ für IE arbeiten.

Ich habe gelesen, dass dieses Verhalten nicht im Intranet funktioniert, aber mein experinece ist anders. Der Punkt ist, dass das <meta> Element das erste sein muss! Das erste Mittel, kein Kommentar vor. Nichts nur die erste nach dem Titel.

Zum Beispiel habe ich eine Untersuchung auf der Serverseite in Code zu überprüfen, welche Version es sich handelt, und die Meta an den Browser im Zusammenhang setzen - als erstes Element

+0

Beachten Sie auch, dass IE dieses Meta-Tag nicht auf lokale Datei verwenden wird: /// ... – Jono

8

Als zusätzliche Anmerkung, Es ist möglich, Kompatibilitätsüberschreibungen beim Testen in Ihrem lokalen Browser zu speichern.

Von (http://answers.microsoft.com/en-us/ie/forum/ie9-windows_7/ie9-always-rendering-pages-in-ie7-compatibility/c0177b44-3950-e011-8dfc-68b599b31bf5):

Schritt 1: Lassen Sie uns Kompatibilitätsansicht auszuschalten und überprüfen.

a. Öffnen Sie den Internet Explorer.

b. Klicken Sie auf die Alt-Taste auf der Tastatur. Klicken Sie nun im Menü auf Extras.

c. Wählen Sie Einstellungen für Kompatibilitätsansicht.

d. Entfernen Sie das Häkchen für Alle Websites in Kompatibilität anzeigen Zeigen Sie das Fenster Einstellungen der Kompatibilitätsansicht an und schließen Sie es.

Schritt 2: Internet Explorer Einstellungen zurücksetzen und prüfen.

Siehe: http://support.microsoft.com/kb/923737 (Dieser Artikel kann auch für das Internet Explorer 9 verwendet werden)

+0

Das funktionierte für mich ... Danke :-) –

+0

Kein Problem, glücklich zu helfen :) –

Verwandte Themen