Frage

Es scheint, dass, wenn die Webseite hat

<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible' />

, so dass IE 8 wird IE emulieren 7, dann später in der Web-Seite, wenn es

<!--[if lt IE 8]> 
  <link href="http://www.example.com/stylesheets/compiled/ie.css" type="text/css" />
<![endif]-->

, dann wird es auch das Laden ie.css sein?

Das heißt, es IE 8, emuliert IE 7 und so die lt IE 8 true sein?

Update: , aber dann wird der Server-Seite Variable HTTP_USER_AGENT noch sagen IE 8? Da der Browser an den Server als IE 8 geht, gibt IE 8 als Folge von HTTP_USER_AGENT, und dann mit dem Wunsch, die Server-Antworten IE 7. So zu emulieren, wenn der Server-Sprache wie PHP HTTP_USER_AGENT erkennt, wird es noch sein IE 8 in der Kompatibilitätsmodus (IE 7-Emulationsmodus)?

War es hilfreich?

Lösung

Das ist der ganze Sinn dieser Meta-Tag, ist es nicht? Sobald Sie diese haben:

<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible' />

IE8 beginnt verhalten auf der Client-Seite als IE7:

  • Ihre Seiten werden alle machen, wie sie es in IE7
  • Ihre bedingte Kommentare etwas Targeting älter als IE8 (<!--[if lt IE 8]>) auch gelesen werden, und der Code innerhalb ausgeführt, so ie.css is geladen

der IE7-Schalter nimmt jedoch erst nach IE8, dass Meta-Tag liest. Da Ihre HTML als Teil der Antwort zurückgegeben wird, hat IE8 es zuerst zu beantragen. Da IE8 keine Ahnung hat, im Voraus, dass dieser Meta-Tag erscheinen würde, ist der User-Agent-String sendet MSIE 8.0. PHP dann erkennt sie als IE8.

Andere Tipps

Wenn Sie eine andere Lösung wollen (und sind bereit, es zu benutzen), können Sie verwenden jquery den Browser (jQuery.browser) zu erfassen. Es tut Ergebnis mit IE7 für IE8 im Kompatibilitätsmodus.

Wenn Sie IE8 doch sagen, zu emulieren IE7, können Sie darauf vertrauen, dass Ihre CSS für IE7 sollte richtig funktionieren. Verwenden Sie einfach lte statt lt.

<!--[if IE 8]> 
   <meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible' />
<![endif]-->
<!--[if lte IE 8]> 
  <link href="http://www.example.com/stylesheets/compiled/ie.css" type="text/css" />
<![endif]-->
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top