2009-06-11 4 views
4

Ich habe IIS6 eingerichtet, um die folgenden Header sendenInternet Explorer 8 EmulateIE7 Modus nicht funktioniert

Benutzerdefinierte Kopfzeile Namen: X-UA-Compatible
Benutzerdefinierte Kopfzeile Wert: IE = EmulateIE7

, die IE 8 in den IE 7 Kompatibilitätsmodus zwingen sollte. Sie können mehr darüber auf MSDN lesen.

Ich habe festgestellt, indem ich in der Developer Toolbar, wenn ich eine DTD definiert den Dokumentenmodus richtig IE 7 eingestellt hat, aber der Browser-Modus ist IE 8. Wenn die Seite nicht über eine DTD den Dokument-Modus wird wieder Quirks und Browser-Modus IE 8 gesetzt.

Mache ich etwas falsch. Wie erzwinge ich IE 8, IE 7 Browser-Modus einzustellen.

Dank

Antwort

6

Ich habe diese Meta-Tag zu zwingen, die IE7-Modus verwendet:

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

Wichtig: Sie dies vor allen anderen Tags in <head> setzen müssen!

(eigentlich könnten Sie in der Lage sein, eine <title> bevor diese zu setzen, aber nichts setzen ist einfacher, als die spezifischen Fälle zu erinnern)

+0

Die IIS Einstellung, dass die OP wird mit diesem Header fügt automatisch, so dass Sie Sie müssen das Meta-Tag nicht in die Seiten aufnehmen. –

+0

Beachten Sie, dass Sie die IIS-Einstellung auch mit dem Meta-Tag überschreiben können. –

+1

Ich weiß, es ist ein alter Post, aber Ihre Notiz, dass dieses Tag das erste Tag in der '' Sektion sein muss, hat mich gerettet! Vielen Dank! – William

0

Ich denke, das ist so entworfen arbeiten. Ich habe diesen Header-Wert ohne Probleme verwendet.

Haben Sie Probleme beim Rendern auf Ihren Seiten? Sie könnten stattdessen IE = IE7 verwenden.

1

prüfen Link

http://ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html

Benötigen Sie einen benutzerdefinierten Header hinzufügen, wie in dem Link beschrieben. Suchen Sie immer noch nach einer Nicht-Header-Lösung, wenn Sie die Übergangs-DTD verwenden.

+0

zusätzlicher Link http://www.terminally-incoherent.com/blog/2009/07/27/forcing-ie8-compatibility-mode-in-iis/ – infocyde

0

diese Lösung gefunden ... hoffe, es funktioniert!

Hinweis: Sie werden die "Header" Spiel setzen, bevor jeder HTML an den Browser gesendet wird (http://www.php.net/header)

Es PHP-Code ist, sollte die Zeile so aussehen:

header ('X -UA-kompatibel: IE = 7 ');

+0

Danke Nicolas, das hat mein Problem gelöst. – Jude

0

Wenn Sie diese Anleitung zu genau befolgt haben, werden Sie die Tatsache übersehen, dass die web.config-Methode zur Fehlerbehebung nur in IIS 7 + unterstützt wird.

Via [MSDN] Artikel-Link in OP

Konfigurieren von Web-Servern Standard Kompatibilitätsmodi

Site-Administratoren ihre Websites zu einem bestimmten Dokument Kompatibilitätsmodus von auf Standard konfigurieren können, um angeben zu definieren eine benutzerdefinierte Kopfzeile für die Site. Der spezifische Prozess hängt von Ihrem Webserver ab. Die folgende Datei web.config ermöglicht beispielsweise Microsoft Internetinformationsdienste (Internet Information Services, IIS) Definieren Sie einen benutzerdefinierten Header, rendert automatisch alle Seiten im Modus IE7 .

ABER siehe: IIS.NET article

IIS 7.0 The <customHeaders> element of the <httpProtocol> element was introduced in IIS 7.0. 
0
<!-- Use IE7 mode added on 13th October for IE8 BSCI--> 
      <!-- <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> --> 
    <!-- Use IE7 mode added on 20th October for IE8 BSCI--> 
      <meta http-equiv="X-UA-Compatible" content="IE=IE7" /> <!--- This appears to work on testing! -->  
      <!-- END --> 

Mit 'emulieren' nicht funktioniert aber IE = IE7 hat