1

Wir haben einige seltsame Problem mit einigen Versionen von Internet Explorer, so haben wir einen BrowserBrowserswitch und verwenden dann meta http-equiv = "X-UA-Compatible" - Documentmodus bereits geschehen ist

<head> 
<!--[if IE 6]> 
    <!-- load some IE6 stuff --> 
    <meta http-equiv="X-UA-Compatible" content="IE=6" /> 
<![endif]--> 
<!--[if IE 7]> 
    <!-- load some IE7 stuff --> 
    <meta http-equiv="X-UA-Compatible" content="IE=6" /> 
<![endif]--> 

<!--[if IE 8]> 
    <!-- load some IE8 stuff --> 
    <meta http-equiv="X-UA-Compatible" content="IE=8" /> 
<![endif]--> 

<!--[if IE 9]> 
    <!-- load some IE9 stuff --> 
    <meta http-equiv="X-UA-Compatible" content="IE=8" /> 
<![endif]--> 
</head> 

Wenn ich lädt es so, ich sehe in dem IE9 Entwickler Add-on:

HTML1115: der X-UA-kompatibelen META-Tag ("IE = 8") wurde ignoriert, weil wurde die documentmodus bereits geladen.

(ursprünglich in Deutsch seine, so dass dieses i die Übersetzung sein sollte)

und das Dokument modus IE9

ist noch zu

Wenn ich es schwer in meine <head> Tags schrieb:

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

Der IE9 wird als IE8 geladen werden, so dass dies funktioniert, aber dann das IE6 Zeug tut es natürlich falsch ....

Also gibt es eine Möglichkeit, es so zu tun, als ob ich es zuerst versucht hätte?

Antwort

5

Sie können es nicht so machen. Es gibt nur eine begrenzte Anzahl von Dingen, die vor dem Element X-UA-Compatiblemeta verwendet werden können.

Der X-UA-kompatible Header unterscheidet nicht zwischen Groß- und Kleinschreibung; es muss jedoch in der Kopfzeile der Webseite (der HEAD-Abschnitt) vor allen anderen Elementen außer dem Titelelement und anderen Metaelementen angezeigt werden.

(von http://msdn.microsoft.com/en-us/library/ie/cc288325%28v=vs.85%29.aspx)

Aus diesem Grund Markup wie erwartet funktioniert nicht - bedingten Kommentar bewirkt, dass alle folgenden X-UA-Compatible Erklärungen ignoriert werden.

Beachten Sie auch, dass X-UA-Compatible nur in IE8 und neueren Versionen unterstützt wird - es wird vollständig in IE6 und IE7 ignoriert. Wenn Sie nur die folgende verwenden:

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

dann IE6 und IE7 ihre eigene Rendering und alle Versionen von IE8 verwenden nach oben wird das Dokument als IE8 machen.

+0

Danke! Das ist genau das, was ich getan habe (ich mache das ganze Zeug 'IE = 8', aber ich wollte den Beweis haben ... ich werde den Link lesen, den du mir gegeben hast, dann bekommst du das Bounty;) Danke – Joerg

+0

... es scheint, als würde IE6 jetzt wirklich seltsame Dinge tun (und bevor ich alles auf ie8 umgestellt habe, hat es funktioniert ..) Ich hasse Kunden mit alten beschissenen Browser! – Joerg

+1

@Joerg Könnten Sie bitte eine Demo-Website (z. B. auf jsbin.com) mit altem und neuem Markup zeigen und sagen, was ist der Unterschied? 'X-UA-Compatible' wird in IE6 sicherlich nicht unterstützt, daher müssen Sie sich irgendwo anders geirrt haben. – duri