Mise à jour d'octobre 2015
Cette réponse a été publiée il y a plusieurs années et maintenant la question devrait vraiment être si vous envisagez même d'utiliser la X-UA-Compatible
balise sur votre site? avec les modifications que Microsoft a apportées à ses navigateurs (plus d'informations ci-dessous).
Selon les navigateurs Microsoft que vous prenez en charge, vous n'aurez peut-être pas besoin de continuer à utiliser la X-UA-Compatible
balise. 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 supprimer complètement cette balise. Si vous utilisez Twitter Bootstrap et devez éliminer les avertissements de validation, cette balise doit apparaître dans l'ordre spécifié. Informations supplémentaires ci-dessous:
La X-UA-Compatible
balise META permet aux auteurs 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 la X-UA-Compatible
balise META que dans certaines circonstances. Voir la note Microsoft Edge ci-dessous.
Selon Microsoft, lors de l'utilisation de la X-UA-Compatible
balise, elle doit être aussi élevée que possible dans votre document head
:
Si vous utilisez la balise META compatible X-UA, vous souhaitez la placer aussi près que possible du haut de la TÊTE de la page. Internet Explorer commence à interpréter le balisage à l'aide de la dernière version. Lorsque Internet Explorer rencontre la balise META compatible X-UA, il recommence à utiliser le moteur de la version désignée. Il s'agit d'un problème de performances car le navigateur doit arrêter et redémarrer l'analyse du contenu.
Voici vos options:
- "IE = bord"
- "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 les définitions fournies par Microsoft:
Internet Explorer prend en charge un certain nombre de modes de compatibilité des documents qui activent différentes fonctionnalités et peuvent affecter la façon 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 future version d'Internet Explorer prend en charge un mode de compatibilité supérieur, les pages définies en mode Edge apparaissent dans le mode le plus élevé pris en charge par cette version. Ces mêmes pages apparaissent toujours en mode IE9 lorsqu'elles sont affichées avec Internet Explorer 9. Internet Explorer prend en charge un certain nombre de modes de compatibilité des documents qui activent différentes fonctionnalités et peuvent affecter la façon dont le contenu est affiché:
Le mode IE11 offre la meilleure prise en charge disponible pour les normes de l'industrie établies et émergentes, y compris HTML5, CSS3 et autres.
Le mode IE10 offre la meilleure prise en charge disponible pour les normes industrielles établies et émergentes, y compris HTML5, CSS3 et autres.
Le mode IE9 offre la meilleure prise en charge disponible pour les normes de l'industrie établies et émergentes, y compris la spécification HTML5 (Working Draft), W3C Cascading Style Sheets Level 3 (Working Draft), Scalable Vector Graphics (SVG) 1.0 Specification, etc. [Note de l'éditeur: IE 9 ne prend pas en charge 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 fournit également un support limité pour la spécification de niveau 3 des feuilles de style en cascade du W3C (document de travail) 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 émuler IE9 indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives du mode standard sont affichées en mode IE9 et les directives du mode excentrique sont affichées en mode IE5. Contrairement au mode IE9, le mode Emulate IE9 respecte la directive.
Le mode émuler IE8 indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives du mode standard sont affichées en mode IE8 et les directives du mode excentrique sont affichées en mode IE5. Contrairement au mode IE8, le mode Emulate IE8 respecte la directive.
Le mode Emuler IE7 indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives du mode standard sont affichées en mode standard d'Internet Explorer 7 et les directives du mode excentrique sont affichées en mode IE5. Contrairement au mode IE7, le mode Emuler 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 excentrique par Internet Explorer 7, ce qui est très similaire à la façon dont le contenu était affiché dans Microsoft Internet Explorer 5.
IE10 REMARQUE: à partir d'IE10, le mode excentrique se comporte différemment de celui des versions antérieures du navigateur. Dans IE9 et les versions antérieures, le mode excentrique limitait la page Web aux fonctionnalités prises en charge par IE5.5. Dans IE10, le mode excentrique est conforme aux différences spécifiées dans la spécification HTML5.
Personnellement, je choisis toujours la http-equiv="X-UA-Compatible" content="IE=edge"
balise META, car les anciennes versions ont beaucoup de bugs, et je ne veux pas qu'IE décide de passer en "mode de compatibilité" et montre mon site comme IE7 vs IE8 ou 9. Je préfère toujours la dernière version de C'EST À DIRE.
IE11
De Microsoft :
À partir d'IE11, le mode bord est le mode de document préféré; il représente le support le plus élevé pour les normes modernes disponibles pour le navigateur.
Utilisez la déclaration de type de document HTML5 pour activer le mode bord:
<!doctype html>
Le mode Edge 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 Edge sont limitées à celles prises en charge par la version spécifique du navigateur qui rend le contenu.
À partir d'IE11, les modes de document sont obsolètes et ne devraient plus être utilisés, sauf de façon temporaire. Assurez-vous de mettre à jour les sites qui s'appuient sur les fonctionnalités héritées et les modes de document pour 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 prendre en charge les normes et fonctionnalités modernes, sachez que vous utilisez une fonctionnalité de transition, qui pourrait ne plus être disponible dans les futures versions.
Si vous utilisez actuellement l'en-tête compatible x-ua pour cibler un mode de document hérité, 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 la X-UA-Compatible
balise META pour la version "Edge" d'IE. De Microsoft :
Présentation du mode de document Edge «vivant»
Comme nous l'avons annoncé en août 2013, nous déconseillons les modes de document à partir d'IE11. Avec nos dernières mises à jour de plate-forme, le besoin de modes de document hérités est principalement limité aux applications Web héritées d'entreprise. Avec les nouvelles modifications architecturales, ces modes de document hérités seront isolés des changements du mode Edge «vivant», ce qui contribuera à garantir un niveau de compatibilité beaucoup plus élevé pour les clients qui dépendent de ces modes et nous aidera à avancer encore plus rapidement sur les améliorations apportées à Edge. . IE honorera toujours les modes de document servis par les sites intranet, les sites de la liste Affichage de compatibilité et lorsqu'il est utilisé avec le mode Entreprise uniquement.
Les sites Internet publics seront rendus avec la nouvelle plate-forme en mode Edge (sans tenir compte de la compatibilité X-UA). Notre objectif est qu'Edge soit le mode de document "vivant" d'ici et aucun autre mode de document ne sera introduit à l'avenir.
Avec les modifications apportées à Microsoft Edge pour ne plus prendre en charge les modes de document dans la plupart des cas, Microsoft dispose d'un outil pour analyser votre site pour vérifier et voir s'il contient du code qui n'est pas compatible avec Edge.
Chrome = 1 Info pour IE
Il y a aussi chrome=1
que vous pouvez utiliser ou utiliser conjointement avec l' une des options ci - dessus comme: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
. chrome=1
est pour 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é le plug-in ont accès aux technologies Web ouvertes de Google Chrome et au moteur JavaScript rapide lorsqu'ils ouvrent des pages dans le navigateur.
Google Chrome Frame améliore parfaitement 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 accès aux dernières fonctionnalités HTML5 ainsi qu'aux performances et aux fonctionnalités de sécurité de Google Chrome sans interrompre en aucune façon votre utilisation habituelle du 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
la X-UA-Compatible
balise META.
Plus d'informations sur Chrome Frame peuvent être trouvées ici .
Remarque: Google Chrome Frame ne fonctionne que pour IE6 à IE9 et a été retiré le 25 février 2014. Plus d'informations peuvent être trouvées ici . Merci à @mck pour le lien.
Validation:
HTML5 :
La page ne sera validée à l'aide du validateur W3 que lors de l'utilisation <meta http-equiv="X-UA-Compatible" content="IE=Edge">
. Pour les autres valeurs, il générera l'erreur: 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 l'avez, IE=edge,chrome=1
il ne sera pas validé. J'ignore complètement cette erreur car les navigateurs modernes ignorent 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 de remarque, 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 ou 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 <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
tant que la balise est correctement fermée (c'est-à-dire />
vs >
).
Twitter Bootstrap
Cette balise est fortement recommandée par l'équipe Bootstrap depuis au moins 2014, et Bootlint , le linter rédigé par l'équipe twbs continue de lancer 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 Site Web de Microsoft sur la compatibilité des documents .
Pour plus d'informations sur ce que IE prend en charge, consultez caniuse.com .
Pour plus d'informations sur les exigences de Twitter Bootstrap, consultez la page wiki du projet bootlint .