(0) exportieren Drucken
Alle erweitern
5 von 12 fanden dies hilfreich - Dieses Thema bewerten.

Definieren der Dokumentkompatibilität

.NET Framework 3.0
Neu für Windows Internet Explorer 8

Aktualisiert: Februar 2009

Über die Dokumentkompatibilität wird definiert, wie Internet Explorer die Webseiten darstellt. Dieser Artikel erklärt die Dokumentkompatibilität, wie der Dokumentkompatibilitätsmodus für die Webseiten angegeben wird, und wie der Dokumentmodus einer Webseite bestimmt wird.

Einführung

Internet Explorer 8 führt die Dokumentkompatibilität ein, um dabei zu helfen sicherzustellen, dass die Webseiten in zukünftigen Versionen von Internet Explorer eine konsistente Darstellung aufweisen. Als Erweiterung des in Microsoft Internet Explorer 6 eingeführten Kompatibilitätsmodus ermöglicht es Ihnen der Dokumentkompatibilität, einen bestimmten Darstellungsmodus auszuwählen, mit dem Internet Explorer die Webseiten anzeigt.

In diesem Artikel wird die Notwendigkeit zur Dokumentkompatibilität beschrieben, die für die letzten Versionen von Internet Explorer verfügbaren Dokumentkompatibilitätsmodi aufgelistet und gezeigt, wie bestimmte Kompatibilitätsmodi ausgewählt werden.

Informationen zur Notwendigkeit der Dokumentkompatibilität

Jede wichtige Version von Internet Explorer fügt neue Features hinzu, die dazu entworfen wurden, dass der Browser einfacher zu verwenden ist, um die Sicherheit zu erhöhen und Industriestandards genauer zu unterstützen. Während die Anzahl der Features in Internet Explorer zunimmt, besteht das Risiko, das ältere Websites möglicherweise nicht ordnungsgemäß angezeigt werden.

Um dieses Risiko zu minimieren, hat es Internet Explorer 6 den Webentwicklern ermöglicht, die Methode auszuwählen, wie Internet Explorer ihre Webseiten interpretiert und anzeigt. Der "Quirksmodus" war der Standardmodus. Er hat Seiten so angezeigt, als ob sie mit früheren Versionen des Browsers angezeigt werden. Der "Standards-Modus" (auch bekannt als "strenger Modus") hat die umfassendste Unterstützung für Industriestandards präsentiert. Damit diese verbesserte Unterstützung genutzt werden konnte, mussten die Webseiten jedoch eine entsprechende <!DOCTYPE>-Direktive einbeziehen.

Wenn eine Website keine <!DOCTYPE>-Direktive einbezieht, würde Internet Explorer 6 die Website im Quirksmodus anzeigen. Wenn eine Website eine gültige <!DOCTYPE->-Direktive enthält, die vom Browser nicht erkannt wurde, würde Internet Explorer 6 die Website im Standards-Modus anzeigen. Da wenige Websites bereits die <!DOCTYPE->-Direktive einschlossen, war der Umschalter für den Kompatibilitätsmodus sehr erfolgreich. Er hat es Webentwicklern ermöglicht, den besten Zeitpunkt zum Migrieren der Websites zum Standards-Modus auszuwählen.

Im Laufe der Zeit begannen viele Websites sich auf den Standards-Modus zu verlassen. Sie haben auch damit begonnen, die Features und das Verhalten von Internet Explorer 6 zu verwenden, um Internet Explorer zu erkennen. Internet Explorer 6 hat z. B. nicht die universelle Auswahl unterstützt. Einige Websites haben dies als Möglichkeit genutzt, bestimmte Inhalte für Internet Explorer bereitzustellen.

Internet Explorer 7 bot neue Features, z. B. die Unterstützung der universellen Auswahl, die für eine umfassendere Unterstützung von Industriestandards entworfen wurde. Da die <!DOCTYPE->-Direktive nur zwei Einstellungen (Quirksmodus und Standards-Modus) unterstützt, hat der Standards-Modus von Internet Explorer 7 den Standards-Modus von Internet Explorer 6 ersetzt.

Deshalb konnten Websites, die auf dem Verhalten des Standards-Modus von Internet Explorer 6 beruhen (z. B. die fehlende Unterstützung für die universelle Auswahl), die neue Version des Browsers nicht erkennen. Internet Explorer-spezifische Inhalte wurden somit nicht für Internet Explorer 7 bereitgestellt, und diese Websites wurden nicht wie beabsichtigt angezeigt. Da Internet Explorer 7 nur zwei Kompatibilitätsmodi unterstützt hat, wurden die Besitzer betroffener Websites gezwungen, ihre Websites zu aktualisieren, damit diese Internet Explorer 7 unterstützen.

Internet Explorer 8 unterstützt Industriestandards noch umfassender als jede frühere Version des Browsers. Infolgedessen werden für frühere Versionen des Browsers entworfene Websites möglicherweise nicht wie gewünscht angezeigt. Internet Explorer 8 hat das Konzept der Dokumentkompatibilität eingeführt, mit dem Sie die Versionen von Internet Explorer angeben können, für deren Unterstützung Ihre Website entworfen wurde, um dabei zu helfen, mögliche Probleme zu minimieren. Dokumentkompatibilität fügt neue Modi zu Internet Explorer 8 hinzu. Diese Modi teilen den Browser mit, wie eine Website zu interpretieren und darzustellen ist. Wenn die Website in Internet Explorer 8 nicht ordnungsgemäß angezeigt wird, können Sie entweder die Website aktualisieren, damit diese die aktuellsten Webstandards (bevorzugt) unterstützt, oder Sie können Internet Explorer 8 dazu zwingen, die Inhalte so anzuzeigen, als ob sie in einer früheren Version des Browsers angezeigt werden. Dies erfolgt mithilfe des meta-Elements, indem ein X-UA-Compatible-Header zu den Webseiten hinzugefügt wird.

Dadurch können Sie auswählen, wann die Website hinsichtlich der Unterstützung neuer Features aktualisiert wird, die von Internet Explorer 8 unterstützt werden.

Informationen zu Dokumentkompatibilitätsmodi

Internet Explorer 8 unterstützt eine Reihe von Dokumentkompatibilitätsmodi, die verschiedene Features aktivieren und sich darauf auswirken können, wie Inhalte angezeigt wird.

  • Der Modus "Ansichtskorrektur" teilt Internet Explorer mit, dass die <!DOCTYPE->-Direktive verwendet werden soll, um zu bestimmen, wie Inhalte dargestellt werden. Direktiven des Standards-Modus werden im Standards-Modus von Windows Internet Explorer 8 angezeigt und Direktiven des Quirksmodus werden im IE5-Modus angezeigt. Im Gegensatz zum IE8-Modus beachtet der Modus "Ansichtskorrektur" die <!DOCTYPE>-Direktive.

  • Der Modus "Ansichtskorrektur" (IE7) teilt Internet Explorer mit, dass die <!DOCTYPE->-Direktive verwendet werden soll, um zu bestimmen, wie Inhalte dargestellt werden. Direktiven des Standards-Modus werden im Standards-Modus von Windows Internet Explorer 7 angezeigt und Direktiven des Quirksmodus werden im IE5-Modus angezeigt. Im Gegensatz zum IE7-Modus beachtet der Modus "Ansichtskorrektur" die <!DOCTYPE>-Direktive. Für viele Websites ist dies der bevorzugte Kompatibilitätsmodus.

  • Der IE5-Modus stellt Inhalte so dar, als ob diese im Quirksmodus von Internet Explorer 7 angezeigt werden. Dieser Modus ähnelt sehr der Art, in der Internet Explorer 5 Inhalte angezeigt hat.

  • Der IE7-Modus stellt Inhalte so dar, als würden sie im Standards-Modus von Internet Explorer 7 angezeigt werden, unabhängig davon, ob die Seite eine <!DOCTYPE>-Direktive enthält.

  • Der IE8-Modus bietet die für Industriestandards verfügbare höchste Unterstützung, einschließlich der W3C Cascading Style Sheets Level 2.1-Spezifikation  World Wide Web-Link (möglicherweise in englischer Sprache) und der W3C Selectors API  World Wide Web-Link (möglicherweise in englischer Sprache) sowie der eingeschränkten Unterstützung für die W3C Cascading Style Sheets Level 3-Spezifikation (Arbeitsentwurf)  World Wide Web-Link (möglicherweise in englischer Sprache).

  • Der Edge-Modus (Vorteilsmodus) weist Internet Explorer an, Inhalte im höchsten verfügbaren Modus anzuzeigen. Bei Internet Explorer 8 entspricht dies dem IE8-Modus. Wenn eine (hypothetische) zukünftige Version von Internet Explorer einen höheren Kompatibilitätsmodus unterstützt, würden auf den Edge-Modus eingestellte Seiten im höchsten Modus angezeigt, der von dieser Version unterstützt wird. Für dieselben Seiten würde weiterhin der IE8-Modus verwendet werden, wenn sie mit Internet Explorer 8 angezeigt werden.

Da Dokumente im Edge-Modus Webseiten mithilfe des höchsten verfügbaren Modus anzeigen, der für die Version von Internet Explorer verfügbar ist, mit der die Seiten angezeigt werden, wird empfohlen, dass Sie deren Verwendung einschränken, um Seiten und andere nicht für die Produktion verwendete Zwecke zu testen.

Angeben der Dokumentkompatibilitätsmodi

Damit für Ihre Webseiten ein Dokumentmodus festgelegt wird, verwenden Sie das meta-Element, um einen X-UA-Compatible  http-equiv-Header in der Webseite einzuschließen. Im folgenden Beispiel wird die Kompatibilität mit dem Modus "Ansichtskorrektur" festgelegt.

<html>
<head>
  <!-- Mimic Internet Explorer 7 -->
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
  <title>My Web Page</title>
</head>
<body>
  <p>Content goes here.</p>
</body>
</html> 

Das content-Attribut gibt den Modus für die Seite an. Wenn das Verhalten von Internet Explorer 7 nachgeahmt werden soll, dann geben Sie "IE=EmulateIE7" an. Geben Sie "IE=5", "IE=7" oder "IE=8" an, um einen dieser Kompatibilitätsmodi auszuwählen. Sie können auch "IE=edge" angeben, sodass Internet Explorer 8 angewiesen wird, den höchsten verfügbaren Modus zu verwenden.

Beim X-UA-Compatible-Header wird die Groß-/Kleinschreibung nicht beachtet. Er muss jedoch im Header der Webseite ( Abschnitt HEAD) vor allen anderen Elementen auftreten, mit Ausnahme des title-Elements und anderer meta-Elemente.

Konfigurieren von Webservern für die Angabe von Standardkompatibilitätsmodi

Websiteadministratoren können ihre Websites konfigurieren, um standardmäßig einen bestimmten Dokumentkompatibilitätsmodus anzunehmen, indem sie für die Website einen benutzerdefinierten Header definieren. Der genaue Prozess hängt vom Webserver ab. Die folgende web.config-Datei aktiviert z. B. Microsoft-Internetinformationsdienste (IIS), um einen benutzerdefinierten Header zu definieren, der automatisch alle Seiten im IE7-Modus darstellt.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration> 

Wenn Sie mit Ihrem Webserver einen Standarddokumentkompatibilitätsmodus festlegen, können Sie diese Einstellung überschreiben, indem Sie auf einer bestimmten Webseite einen anderen Dokumentkompatibilitätsmodus festlegen. Der innerhalb der Webseite festgelegte Modus hat Vorrang vor dem durch den Server festgelegten Modus.

Weitere Informationen zum Festlegen benutzerdefinierter Header finden Sie in der Dokumentation für den jeweiligen Webserver. Weitere Informationen finden Sie auch unter:

Bestimmen des Dokumentkompatibilitätsmodus

Verwenden Sie die documentMode-Eigenschaft des document-Objekts, um den Dokumentkompatibilitätsmodus einer Webseite mithilfe von Internet Explorer 8 zu bestimmen. Wenn Sie beispielsweise in der Adressleiste von Internet Explorer 8 Folgendes eingeben, wird der Dokumentmodus der aktuellen Webseite angezeigt.

javascript:alert(document.documentMode);

Die Eigenschaft "documentMode" gibt einen numerischen Wert zurück, der dem Dokumentkompatibilitätsmodus der Seite entspricht. Wenn eine Seite z. B. den IE8-Modus unterstützt, gibt "documentMode" den Wert 8 zurück.

Die in Internet Explorer 6 eingeführte compatMode-Eigenschaft wird zu Gunsten der documentMode-Eigenschaft abgelehnt, die in Internet Explorer 8 eingeführt wurde. Anwendungen, die derzeit auf "compatMode" beruhen, funktionieren in Internet Explorer 8 weiterhin. Sie sollten jedoch aktualisiert werden, um "documentMode" zu verwenden.

Wenn Sie JavaScript zur Ermittlung des Kompatibilitätsmodus eines Dokuments verwenden möchten, fügen Sie Code ein, der ältere Versionen von Internet Explorer unterstützt, wie im folgenden Beispiel gezeigt wird.

engine = null;
if (window.navigator.appName == "Microsoft Internet Explorer")
{
   // This is an IE browser. What mode is the engine in?
   if (document.documentMode) // IE8
      engine = document.documentMode;
   else // IE 5-7
   {
      engine = 5; // Assume quirks mode unless proven otherwise
      if (document.compatMode)
      {
         if (document.compatMode == "CSS1Compat")
            engine = 7; // standards mode
      }
   }
   // the engine variable now contains the document compatibility mode.
}

Informationen zu Werten des content-Attributs

Das content-Attribut ist dahingehend flexibel, dass es andere als die zuvor beschriebenen Werte akzeptiert. Dadurch können Sie einen größeren Einfluss darauf nehmen, wie die Webseiten von Internet Explorer angezeigt werden. Sie können z. B. für das content-Attribut den Wert IE=7.5 festlegen. In diesem Fall versucht Internet Explorer, den Wert in einen Versionsvektor zu konvertieren und wählt dann den Modus aus, der dem Ergebnis am ehesten entspricht. In diesem Fall würde für Internet Explorer der IE7-Modus festgelegt werden. Die folgenden Beispiele zeigen die für andere Werte ausgewählten Modi, wenn keine anderen mindernden Faktoren vorhanden sind.

<meta http-equiv="X-UA-Compatible" content="IE=4">   <!-- IE5 mode -->
<meta http-equiv="X-UA-Compatible" content="IE=7.5" > <!-- IE7 mode -->
<meta http-equiv="X-UA-Compatible" content="IE=100" > <!-- IE8 mode -->
<meta http-equiv="X-UA-Compatible" content="IE=a" >   <!-- IE5 mode --> 

<!-- This header mimics Internet Explorer 7 and uses 
     <!DOCTYPE> to determine how to display the Web page -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >    
Hinweis: Im vorherigen Beispiel werden die Ergebnisse einzelner Inhaltswerte veranschaulicht. In der Praxis beachtet Internet Explorer nur den ersten X-UA-Compatible-Header in einer Webseite.

Sie können auch mehrere Dokumentkompatibilitätsmodi mithilfe des content-Attributs angeben. Dies hilft sicherzustellen, dass die Webseiten in zukünftigen Versionen des Browsers einheitlich angezeigt werden. Um mehrere Dokumentmodi anzugeben, legen Sie das content-Attribut fest, um die zu verwendenden Modi zu kennzeichnen. Trennen Sie die einzelnen Modi mithilfe eines Semikolons.

Wenn eine bestimmte Version von Internet Explorer mehrere angeforderte Kompatibilitätsmodi unterstützt, verwendet es den höchsten verfügbaren Modus, der im content-Attribut des Headers aufgeführt wird. Sie können bestimmte Kompatibilitätsmodi anhand dieser Tatsache ausschließen, obwohl dies nicht empfohlen wird. Der folgende Header schließt z. B. den IE7-Modus aus.

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

Steuern der Standarddarstellung

Wenn Internet Explorer 8 eine Webseite erkennt, die keinen X-UA-Compatible header enthält, verwendet es die <!DOCTYPE->-Direktive, um zu ermitteln, wie die Seite angezeigt wird. Wenn die Direktive fehlt oder keinen standardbasierten Dokumenttyp angibt, zeigt Internet Explorer 8 die Seite im IE5-Modus (Quirksmodus) an.

Wenn die <!DOCTYPE->-Direktive einen standardbasierten Dokumenttyp angibt, zeigt Internet Explorer 8 die Seite im IE8-Modus an, außer in den folgenden Fällen:

  • Die Kompatibilitätsansicht ist für die Seite aktiviert.

  • Die Seite wird in der Intranetzone geladen, und Internet Explorer 8 ist in der Kompatibilitätsansicht für Seiten in der Intranetzone konfiguriert.

  • Internet Explorer 8 ist so konfiguriert, dass alle Websites in der Kompatibilitätsansicht angezeigt werden.

  • Internet Explorer 8 ist so konfiguriert, dass die Kompatibilitätsansichtsliste verwendet wird, die eine Reihe von Websites angibt, die immer in der Kompatibilitätsansicht angezeigt werden.

  • Die Entwicklertools werden verwendet, um die in der Webseite angegebenen Einstellungen außer Kraft zu setzen.

  • In der Webseite ist ein Seitenlayoutfehler aufgetreten, und Internet Explorer 8 ist so konfiguriert, dass bei solchen Fehlern die automatische Wiederherstellung erfolgt, indem die Seite in der Kompatibilitätsansicht erneut geöffnet wird.

Weitere Informationen finden Sie unter Internet Explorer-Blog: Kurze Wiederholung zur Kompatibilitätsansicht  World Wide Web-Link (möglicherweise in englischer Sprache).

Hinweis: Wenn das Laden von Intranetseiten in der Kompatibilitätsansicht konfiguriert wurde, macht Internet Explorer eine Ausnahme für Seiten, die mithilfe der localhost-Adresse oder einer Loopbackadresse geladen wurden. Mit einem dieser Verfahren geladene Seiten werden im IE8-Modus angezeigt, wenn die <!DOCTYPE->-Direktive einen standardbasierten Dokumenttyp angibt.

Mit dem folgenden Registrierungsschlüssel können Sie außerdem die Methode steuern, mit der Internet Explorer Seiten behandelt, die keine X-UA-Compatible-Header enthalten.

HKEY_LOCAL_MACHINE (oder HKEY_CURRENT_USER)
     SOFTWARE
          Microsoft
               Internet Explorer
                    Main
                         FeatureControl
                              FEATURE_BROWSER_EMULATION
                                   iexplore.exe = (DWORD)

Der DWORD-Wert muss einem der folgenden Werte entsprechen.

WertBeschreibung
7000Seiten, die standardbasierte <!DOCTYPE->-Direktiven enthalten, werden im IE7-Modus angezeigt.
8000Seiten, die standardbasierte <!DOCTYPE->-Direktiven enthalten, werden im IE8-Modus angezeigt.
8888Seiten werden immer im IE8-Modus angezeigt, unabhängig von der <!DOCTYPE->-Direktive. (Dies umgeht die zuvor aufgeführten Ausnahmen.)

Anwendungen, die den Host für das WebBrowser-Steuerelement darstellen, öffnen standardbasierte Seiten standardmäßig im IE7-Modus, außer die Seite enthält einen entsprechenden X-UA-Compatible-Header. Sie können dieses ändern, indem Sie den Namen der ausführbaren Datei der Anwendung zum Featuresteuerschlüssel FEATURE_BROWSER_EMULATION hinzufügen und den Wert entsprechend festlegen.

Schlussbemerkung

Kompatibilität ist eine wichtige Überlegung für Web-Designer. Obwohl es am besten ist, Websites zu erstellen, die nicht auf bestimmten Verhaltensweisen oder Features eines Webbrowsers beruhen, gibt es Situationen, in denen dies nicht möglich ist. Der Dokumentkompatibilitätsmodus bindet eine Webseite an das Verhalten einer bestimmten Version von Internet Explorer.

Geben Sie die von Ihren Seiten unterstützten Versionen von Internet Explorer mithilfe des X-UA-Compatible-Headers an. Verwenden Sie "document.documentMode", um den Kompatibilitätsmodus einer Webseite zu bestimmen.

Indem Sie sich für die Unterstützung einer bestimmten Version von Internet Explorer entscheiden, können Sie dabei helfen sicherzustellen, dass die Seiten in zukünftigen Versionen des Browsers einheitlich angezeigt werden.

Verwandte Themen

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.