Mise à jour d'octobre 2015
Cette réponse a été publiée il y a plusieurs années et la question devrait maintenant être la suivante si vous envisagez d'utiliser le X-UA-Compatible
sur votre site ? avec les modifications apportées par Microsoft à ses navigateurs (voir ci-dessous).
En fonction des navigateurs Microsoft que vous prenez en charge, il se peut que vous n'ayez pas besoin de continuer à utiliser l'application X-UA-Compatible
étiquette. Si vous devez prendre en charge IE9 ou IE8, je vous recommande d'utiliser la balise. Si vous ne prenez en charge que les derniers navigateurs (IE11 et/ou Edge), j'envisagerais de laisser tomber cette balise. Si vous utilisez Twitter Bootstrap et devez éliminer les avertissements de validation, cette balise doit apparaître dans l'ordre indiqué. Informations complémentaires ci-dessous :
El X-UA-Compatible
permet aux auteurs de sites web de choisir la version d'Internet Explorer dans laquelle la page doit être rendue. IE11 a apporté des modifications à ces modes ; voir la note IE11 ci-dessous. Microsoft Edge le navigateur qui a remplacé IE11, n'honore que l'option X-UA-Compatible
dans certaines circonstances. Voir la note de Microsoft Edge ci-dessous.
Selon Microsoft, lorsque l'on utilise le X-UA-Compatible
il doit être placé le plus haut possible dans votre document. head
:
Si vous utilisez la balise META X-UA-Compatible, vous devez la placer aussi près que possible du haut du HEAD de la page. Internet Explorer commence à interpréter le balisage en utilisant la dernière version. Lorsqu'Internet Explorer rencontre la balise META X-UA-Compatible, il recommence en utilisant le moteur de la version désignée. Les performances s'en ressentent car le navigateur doit s'arrêter et recommencer à analyser le contenu.
Voici vos options :
- "IE=edge"
- "IE=11"
- "IE=EmulateIE11"
- "IE=10"
- "IE=EmulateIE10"
- "IE=9"
- "IE=EmulateIE9
- "IE=8"
- "IE=EmulateIE8"
- "IE=7"
- "IE=EmulateIE7"
- "IE=5"
Pour tenter de comprendre ce que chacun signifie, voici des définitions fournies par Microsoft :
Internet Explorer prend en charge un certain nombre de modes de compatibilité des documents qui activent différentes fonctions et peuvent affecter la manière dont le contenu est affiché :
-
Le mode Edge indique à Internet Explorer d'afficher le contenu dans le mode le plus élevé disponible. Avec Internet Explorer 9, cela équivaut au mode IE9. Si une version ultérieure d'Internet Explorer prenait en charge un mode de compatibilité supérieur, les pages définies en mode Bordure s'afficheraient dans le mode le plus élevé pris en charge par cette version. Ces mêmes pages apparaîtraient toujours en mode IE9 lorsqu'elles seraient visualisées avec Internet Explorer 9. Internet Explorer prend en charge un certain nombre de modes de compatibilité des documents qui activent différentes fonctions et peuvent affecter la manière dont le contenu est affiché :
-
Le mode IE11 offre la meilleure prise en charge possible des normes industrielles établies et émergentes, y compris les normes HTML5, CSS3 et autres.
-
Le mode IE10 offre la meilleure prise en charge possible des normes industrielles établies et émergentes, y compris les normes HTML5, CSS3 et autres.
-
Le mode IE9 offre la meilleure prise en charge possible des normes industrielles établies et émergentes, notamment le HTML5 (Working Draft), la spécification W3C Cascading Style Sheets Level 3 (Working Draft), la spécification Scalable Vector Graphics (SVG) 1.0, etc. [Note de l'éditeur : IE 9 n'est pas supporter les animations CSS3].
-
Le mode IE8 prend en charge de nombreuses normes établies, notamment la spécification W3C Cascading Style Sheets Level 2.1 et l'API W3C Selectors ; il offre également une prise en charge limitée de la spécification W3C Cascading Style Sheets Level 3 (Working Draft) et d'autres normes émergentes.
-
Le mode IE7 rend le contenu comme s'il était affiché en mode standard par Internet Explorer 7, que la page contienne ou non une directive.
-
Le mode Emulate IE9 indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives en mode standard sont affichées en mode IE9 et les directives en mode quirks sont affichées en mode IE5. Contrairement au mode IE9, le mode Emulate IE9 respecte la directive.
-
Le mode Emulate IE8 indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives en mode standard sont affichées en mode IE8 et les directives en mode quirks sont affichées en mode IE5. Contrairement au mode IE8, le mode Emulate IE8 respecte la directive.
-
Le mode Emulate IE7 indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives en mode standard sont affichées en mode standard d'Internet Explorer 7 et les directives en mode quirks sont affichées en mode IE5. Contrairement au mode IE7, le mode Emulate IE7 respecte la directive. Pour de nombreux sites Web, il s'agit du mode de compatibilité préféré.
-
Le mode IE5 rend le contenu comme s'il était affiché en mode quirks par Internet Explorer 7, ce qui est très similaire à la façon dont le contenu était affiché dans Microsoft Internet Explorer 5.
NOTE IE10 : À partir d'IE10, le mode quirks se comporte différemment de celui des versions antérieures du navigateur. Dans IE9 et les versions antérieures, le mode quirks limitait la page Web aux fonctionnalités prises en charge par IE5.5. Dans IE10, le mode quirks se conforme aux différences spécifiées dans la spécification HTML5.
Personnellement, je choisis toujours le http-equiv="X-UA-Compatible" content="IE=edge"
car les anciennes versions présentent de nombreux bogues et je ne veux pas qu'IE décide de passer en "mode de compatibilité" et affiche mon site sous IE7 plutôt que sous IE8 ou 9. Je préfère toujours la dernière version d'IE.
IE11
Desde Microsoft :
À partir d'IE11, le mode bord est le mode de document préféré ; il représente la meilleure prise en charge des normes modernes dont dispose le navigateur.
Utilisez la déclaration de type de document HTML5 pour activer le mode bord :
<!doctype html>
Le mode Bordure a été introduit dans Internet Explorer 8 et a été disponible dans chaque version ultérieure. Notez que les fonctionnalités prises en charge par le mode Bordure sont limitées à celles prises en charge par la version spécifique du navigateur qui rend le contenu.
À partir d'IE11, les modes document sont dépréciés et ne doivent plus être utilisés, sauf à titre temporaire. Veillez à mettre à jour les sites qui s'appuient sur des fonctionnalités et des modes de document anciens afin de refléter les normes modernes.
Si vous devez cibler un mode de document spécifique pour que votre site fonctionne pendant que vous le retravaillez pour qu'il prenne en charge les normes et les fonctionnalités modernes, sachez que vous utilisez une fonctionnalité transitoire, qui pourrait ne pas être disponible dans les futures versions.
Si vous utilisez actuellement l'en-tête x-ua-compatible pour cibler un mode de document ancien, il est possible que votre site ne reflète pas la meilleure expérience disponible avec IE11.
Microsoft Edge (Remplacement d'Internet Explorer fourni avec Windows 10)
Informations sur X-UA-Compatible
pour la version "Edge" d'IE. De Microsoft :
Présentation du mode de document "vivant" Edge
Comme nous l'avons annoncé en août 2013, nous déprécions les modes documentaires à partir d'IE11. Avec nos dernières mises à jour de la plateforme, le besoin de modes documentaires hérités est principalement limité aux applications web héritées des entreprises. Grâce à de nouveaux changements architecturaux, ces modes documentaires hérités seront isolés des changements apportés au mode Edge "vivant", ce qui contribuera à garantir un niveau de compatibilité bien plus élevé pour les clients qui dépendent de ces modes et nous aidera à avancer encore plus vite dans les améliorations apportées à Edge. IE continuera d'honorer les modes documentaires servis par les sites intranet, les sites figurant sur la liste d'affichage de compatibilité et lorsqu'ils sont utilisés avec le mode Entreprise uniquement.
Les sites Internet publics seront rendus avec la nouvelle plateforme du mode Edge (ignorant X-UA-Compatible). Notre objectif est que le mode Edge soit le mode de document "vivant" à partir de maintenant et qu'aucun autre mode de document ne soit introduit à l'avenir.
Avec les changements apportés à Microsoft Edge, qui ne prend plus en charge les modes document dans la plupart des cas, Microsoft a un outil pour analyser votre site et vérifier s'il ne contient pas de code non compatible avec Edge.
Chrome=1 Info pour IE
Il existe également chrome=1
que vous pouvez utiliser ou utiliser avec l'une des options ci-dessus comme : <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
. chrome=1
est pour le Chrome Frame de Google qui est défini comme :
Google Chrome Frame est un plug-in de navigateur open source. Les utilisateurs qui ont installé ce plug-in ont accès aux technologies web ouvertes et au moteur JavaScript rapide de Google Chrome lorsqu'ils ouvrent des pages dans le navigateur.
Google Chrome Frame améliore de façon transparente votre expérience de navigation dans Internet Explorer. Il affiche les sites compatibles avec Google Chrome Frame à l'aide de la technologie de rendu de Google Chrome, vous donnant ainsi accès aux dernières fonctionnalités HTML5 ainsi qu'aux performances et aux fonctions de sécurité de Google Chrome, sans interrompre en aucune façon l'utilisation habituelle de votre navigateur.
Lorsque Google Chrome Frame est installé, le web s'améliore sans que vous ayez à y penser.
Mais pour que ce plug-in fonctionne, vous devez utiliser chrome=1
en el X-UA-Compatible
meta tag.
Vous trouverez plus d'informations sur Chrome Frame aquí .
Note : Google Chrome Frame ne fonctionne que pour IE6 à IE9 et a été mis à la retraite le 25 février 2014. Pour plus d'informations, voir aquí . Merci à @mck pour le lien.
Validation :
HTML5 :
La page sera validée en utilisant le W3 Validator uniquement lorsque vous utilisez <meta http-equiv="X-UA-Compatible" content="IE=Edge">
. Pour d'autres valeurs, l'erreur se produit : A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge.
En d'autres termes, si vous avez IE=edge,chrome=1
il ne sera pas validé. J'ignore complètement cette erreur car les navigateurs modernes ignorent tout simplement cette ligne de code.
Si vous devez avoir un code complètement valide, envisagez de le faire au niveau du serveur en définissant l'en-tête HTTP. À titre d'information, Microsoft dit, If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header).
Voir La réponse d'olibre o La réponse de Bitinn pour plus de détails sur la façon de définir un en-tête HTTP.
XHTML
Il n'y a pas de problème de validation lors de l'utilisation de <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
tant que la balise est correctement fermée (c'est-à-dire que />
vs >
).
Twitter Bootstrap
Cette balise est fortement recommandée par l'équipe Bootstrap depuis au moins 2014, et Bootlint le linter écrit par l'équipe de twbs continue de jeter un avertissement lorsque la balise est omise. Le linter fait la distinction entre les avertissements et les erreurs et, à ce titre, la gravité de l'omission de cette balise peut être considérée comme mineure.
Pour plus d'informations sur X-UA-Compatible
voir le site de Microsoft Site web définissant la compatibilité des documents .
Pour plus d'informations sur ce que prend en charge IE, voir caniuse.com .
Pour plus d'informations sur les exigences de Twitter Bootstrap, voir le projet bootlint page du wiki .