2016-04-22 6 views
0

Ich habe zwei beliebte Optionen gesehen IE zu zwingen, eine HTML in einem bestimmten Modus zu öffnen:Apache vs Meta-Tags für bestimmte IE-Modus-Emulation?

1) <meta http-equiv="X-UA-Compatible" content="IE=edge" />

2) Geben Sie es als Header in httpd.conf

Was sind die Vorteile von entweder dieser Optionen? Gibt es einen empfohlenen Ansatz dafür?

Die meisten Anwendungen, die ich gesehen habe, verwenden Apache als Load Balancer und meistert eine Anfrage an www.url.com und sendet sie an einen der möglichen Anwendungsserver. Auch hier würde der direkte Zugriff auf die IP nicht den Vorteil der Emulation haben, da keine Header gesetzt sind. Meta-Tag löst das Problem näher als Apache? Ist das nicht der bessere Weg, eine bestimmte Emulation zu setzen, oder hat der Apache-Ansatz andere Vorteile?

Antwort

1

Weder um ehrlich zu sein.

X-UA-Compatible wird nicht mehr unterstützt (ab IE11 und höher) und Microsoft recommends not using it and instead using the HTML5 doc type.

Sagen, dass, um Ihre Frage zu beantworten (falls Interesse an anderen Überschriften wie folgt), kommt es darauf an. Beide haben Vorteile.

Vorteile von HTTP-Header Einstellung

  • Können einmal auf Server-Ebene festgelegt werden und müssen nicht auf jeder Seite sind zu erinnern.
  • Nützlich, wenn Sie nicht die Kontrolle über alle Seiten haben (z. B. viele Entwickler/Beitragende laden Inhalte auf die Website hoch).
  • HTTP-Header hat normalerweise Vorrang (nicht jedoch mit X-UA-kompatibel).

Vorteile auf Seitenebene Einstellung:

  • erfordert keinen Zugriff auf den Server (zB Wenn Seite auf einem Server gehostet, wo Sie Zugriff auf Serverkonfiguration nicht haben, oder über CDN serviert).
  • Wird kopiert, wenn Seite über CDN oder andere Caching-Lösung geliefert wurde.
  • Kann von Seitenautor eingestellt werden (z. B. wenn Seite eine bestimmte Kopfzeile erfordert und der Autor dies weiß).
  • Es ist normalerweise einfacher, pro Seite zu überschreiben, wenn Sie unterschiedliche Einstellungen pro Seite benötigen, anstatt die gesamte Konfiguration in Apache zu laden.
+0

Meistens verwenden wir SPA, also fühle ich, dass "Meta" die bessere Option ist.Jedoch wird checkout 'doctype' – Nishant

+0

X-UA-Compatible ist in IE11 veraltet, wird aber weiterhin unterstützt. – libertyernie

1

Wenn eine einzelne Seite einen x-ua-kompatiblen Header enthält, wird it overrides headers vom Server bereitgestellt. Es gibt Zeiten, in denen dies nützlich ist (um ältere Websites zu bedienen, die keine DOCTYPE-Anweisungen haben) und Zeiten, in denen dies nicht der Fall ist. In der Regel wissen Sie anhand der Probleme, die Sie beheben möchten, welche Situation Sie haben.

Die empfohlene Vorgehensweise ist use an HTML5 doctype (<!DOCTYPE html>) für die meisten Situationen und nur die Verwendung von x-ua kompatibel für Legacy-Sites, die auf Legacy-Markup angewiesen sind. Idealerweise wäre dies ein temporary solution, der nur verwendet wird, bis eine neue Version der Site entwickelt wurde, so dass sie nicht länger auf dem alten Verhalten beruht.