Frage

Ich frage mich, wie Sie verhindern können, dass Benutzer von IE 8 in den Kompatibilitätsmodus wechseln.

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

Ich habe dieses Tag gefunden und denke, dass dies die Leute dazu zwingt, im IE-8-Modus zu bleiben, aber ich bin mir nicht ganz sicher und kann es nicht überprüfen, da ich IE 9 habe.

Wenn sich Leute im IE 9-Modus befinden, zwinge ich sie, nicht in den IE 8- oder IE 7-Kompatibilitätsmodus zu wechseln?

Ich habe versucht, die obige Zeile in meinen Code einzufügen und bin zu IE 9 -> Extras -> Kompatibilitätsansicht (ausgegraut) gegangen.

aber „Einstellungen der Kompatibilitätsansicht“ waren nicht ausgegraut und es scheint, dass Sie die Site dort hinzufügen könnten.

Sollte das also nicht deaktiviert werden?

War es hilfreich?

Lösung

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

Sollte Ihre Seite dazu zwingen, IE8 -Standards zu rendern. Der Benutzer kann die Site zur Kompatibilitätsliste hinzufügen, aber dieses Tag hat Vorrang.

Eine schnelle Möglichkeit zu überprüfen, besteht darin, die Seite zu laden und die folgende Adressleiste einzugeben:

javascript:alert(navigator.userAgent) 

Wenn Sie IE7 in der Zeichenfolge sehen, wird es im Kompatibilitätsmodus geladen, sonst nicht.

Andere Tipps

Alles, was Sie brauchen, ist, CM in IE zu deaktivieren. Fügen Sie diesen Code einfach ein (in IE9 und unter CM wird deaktiviert):

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

Quelle: http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-t-disable.html

Dies sollte ausreichen, um eine zu erzwingen IE Benutzer, um den Kompatibilitätsmodus in jedem IE Ausführung:

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

Es gibt jedoch einige Einschränkungen, von denen man sich bewusst sein sollte:

  • Das obige Meta -Tag sollte als enthalten sein als das allererste Tag unter <head>. Nur der <title> Das Tag kann darüber platziert werden.

Wenn Sie das nicht tun, erhalten Sie einen Fehler auf IE9 Entwicklerwerkzeuge: X-UA-Compatible META tag ignored because document mode is already finalized.

  • Wenn Sie dieses Markup validieren möchten, sollten Sie sich daran erinnern, das zu schließen meta Tag mit a /> statt gerecht >.

  • Beginnen mit IE11, Der Edge -Modus ist der bevorzugte Dokumentmodus. Um dies zu unterstützen/zu aktivieren, verwenden Sie die Deklaration des HTML5 -Dokumenttyps <!doctype html>.

  • Wenn Sie Webfonts unterstützen müssen IE7, Stellen Sie sicher, dass Sie es verwenden <!DOCTYPE html>. Ich habe es getestet und festgestellt, dass das Rendern von Webfonts auf IE7 wurde bei der Verwendung ziemlich unzuverlässig <!doctype html>.

Die Verwendung von Google Chrome Frame ist beliebt, aber leider wird es irgendwann in diesem Monat, Jan. 2014, fallen gelassen.

<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1">

Umfangreiche verwandte Informationen hier. Der Tipp, der als erstes Meta -Tag verwendet wird, befindet sich auf einer zuvor genannten Quelle hier, was aktualisiert wurde.

Wenn Sie ASP.NET MVC verwenden, habe ich festgestellt Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1") in einem Codeblock in _layout, um recht gut zu funktionieren:

@Code
    Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else

Die Antwort von Felixfett hat für mich funktioniert. Wiederholen:

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

Ich habe es als das erste 'Meta' -Tag in meinem Code. Ich habe 10 und 11 hinzugefügt, da dies Versionen sind, die jetzt für Internet Explorer veröffentlicht werden.

Ich hätte gerade seine Antwort kommentiert, aber ich habe keinen hohen Ruf ...

Eine andere Möglichkeit, dies in Apache zu erreichen, besteht darin, die folgenden Zeilen einzulegen .htaccess im Root -Ordner Ihrer Website (oder in den Konfigurationsdateien von Apache).

BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE

Dies erfordert, dass Sie das haben mod_headers und mod_setenvif Module aktiviert.

Der zusätzliche HTTP -Header wird nur an IE -Browser und keine der anderen gesendet.

In JSF habe ich verwendet:

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
    </f:facet>

    <!-- ... other meta tags ... -->

</h:head>

Durch das Hinzufügen eines Tags zu Ihrer Seite wird die Benutzeroberfläche in der Internet-Systemsteuerung (das Dialogfeld, das angezeigt wird, wenn Sie Extras -> Optionen auswählen) nicht gesteuert.Wenn Sie sich Ihre Homepage ansehen, die google.com, msn.com, about:blank oder example.com sein könnte, kann das Internet-Kontrollfeld den Inhalt Ihrer Seite nicht ermitteln und lädt sie nicht herunter es im Hintergrund.

Schauen Sie mal vorbei dieses Dokument auf MSDN Darin wurde der Kompatibilitätsmodus und die Deaktivierung für Ihre Website besprochen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top