2010-08-15 9 views
5

In HTML5, einige Meta-Elemente nicht überprüft (noch?) Wie:Wie behandelt man Meta-Elemente, die nicht in HTML5 validieren?

<meta http-equiv="x-ua-compatible" content="ie=emulateie7;chrome=1"> 
<meta http-equiv="imagetoolbar" content="no"> 

Sind Conditional Comments eine geeignete Lösung hier resp. Funktionieren Meta-Elemente noch wie erwartet?

<!--[if IE]><meta http-equiv="x-ua-compatible" content="ie=emulateie7;chrome=1"><![endif]--> 
<!--[if lt IE 7]><meta http-equiv="imagetoolbar" content="no"><![endif]--> 

eine .htaccess-Datei anstelle von Meta-Elementen (nicht immer möglich, leider), wäre dies der richtige Weg zu gehen?

<IfModule mod_setenvif.c> 
    <IfModule mod_headers.c> 
    # BrowserMatch MSIE ie OR? 
    BrowserMatch MSIE emulate_ie7 
    # Header set X-UA-Compatible "IE=EmulateIE7" env=ie OR? 
    Header set X-UA-Compatible "IE=EmulateIE7" env=emulate_ie7 
    BrowserMatch chromeframe gcf 
    Header append X-UA-Compatible "chrome=1" env=gcf 
    </IfModule> 
</IfModule> 

Vielen Dank!

Antwort

0

Sie können additional pragma directives registrieren:

Erweiterungen der vordefinierten Satz von Pragma-Richtlinien können unter bestimmten Bedingungen in der WHATWG Wiki PragmaExtensions page registriert werden.

Conformance Kontrolleure werden dann benötigt, um sie zu erkennen:

Conformance Kontrolleure die Informationen auf der WHATWG Wiki PragmaExtensions Seite angegeben verwenden müssen, um festzustellen, ob ein Wert zulässig ist oder nicht: in dieser Spezifikation definierte Werte oder Auf der oben genannten Seite aufgeführte Daten müssen akzeptiert werden, während Werte, die weder in dieser Spezifikation noch auf der oben genannten Seite aufgeführt sind, als ungültig zurückgewiesen werden müssen.

dass, obwohl harte Arbeit sein kann, weiß nicht, ob es einen Grund, warum diese Header aufgeführt haben nicht vor, aber ich denke, Sie werden herausfinden, wenn Sie es versuchen :)

Ihr. htaccess sieht OK gemäß der MS docs aus, es kann einige Variationen geben, abhängig davon, auf welcher Version von Apache Sie sind, aber wahrscheinlich ist der beste Weg zu überprüfen, es zu versuchen und zu sehen.

5

Persönlich für das "x-ua-compatible" -Tag ging ich für die .htaccess-Direktive. Ich folgte der html5boilerplate Vorlage:

# ---------------------------------------------------------------------- 
# Better website experience for IE users 
# ---------------------------------------------------------------------- 

# Force the latest IE version, in various cases when it may fall back to IE7 mode 
# github.com/rails/rails/commit/123eb25#commitcomment-118920 
# Use ChromeFrame if it's installed for a better experience for the poor IE folk 

<IfModule mod_setenvif.c> 
    <IfModule mod_headers.c> 
    BrowserMatch MSIE ie 
    Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie 
    </IfModule> 
</IfModule> 

<IfModule mod_headers.c> 
# Because X-UA-Compatible isn't sent to non-IE (to save header bytes), 
# We need to inform proxies that content changes based on UA 
    Header append Vary User-Agent 
# Cache control is set only if mod_headers is enabled, so that's unncessary to declare 
</IfModule>