56 votes

IE Mode de Compatibilité: "X-UA-Compatible" tag "Bord" de la question

J'ai cela dans la tête (pas de ma tête, mais le format html tête ;) ):

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

Elle force le dernier/plus récents IE mode, mais le Mode de Compatibilité est considéré comme le dernier???

Je veux dire, par exemple: à l'aide de ce code avec IE8, il va l'obliger à utiliser IE8 ou Mode de Compatibilité IE8??

64voto

pcguru Points 1535

Cette balise va essayer de forcer le navigateur à utiliser la dernière mode de rendu du navigateur prend en charge. Il ne se déclenche pas le mode de Compatibilité.

Notez que la balise doit être la première balise dans la tête ou il ne fonctionnera pas. Cela fait des faveurs à l'aide des en-têtes HTTP, si possible, que l'ordre dans l'en-tête HTTP n'a pas d'importance.

Si le navigateur alambics finit en mode de Compatibilité lorsque vous utilisez un en-tête ou la balise meta de l'une de ces choses est probablement la cause:

  • il vous manque un sain d'esprit doctype
  • le navigateur est configuré de manière à toujours utiliser le mode de compatibilité
  • le site est hébergé sur un "site intranet" et le paramètre par défaut pour les sites intranet est réglé

Changer les paramètres d'Affichage de Compatibilité des navigateurs

Microsoft considère au moins 192.168.x.x être sur un "site Intranet". La valeur par défaut pour les sites intranet dans IE8/IE9 est d'utiliser le mode de compatibilité. C'est un énorme problème pour de nombreuses applications d'entreprise que le programmeur NE peut pas annuler cette option, même avec cette balise meta. ("Afficher les sites intranet dans Compatitiblity Vue" n'est pas remplaçable par de la balise meta ou en-tête http (le navigateur est en contrôle complet de l'affichage de compatibilité dans ce cas)

Compatibility View Settings

Toujours ajouter cette balise meta ou un en-tête http?

Une bonne chose sur l'utilisation de cette balise meta est que la "compatibilité vue", l'icône est supprimée de la barre d'adresse du navigateur. Au moins les utilisateurs peuvent pas décider du mode de rendu à l'aide de ce bouton.

2voto

rshadman Points 31

Même si vous avez décoché la case "Afficher les sites intranet dans Affichage de Compatibilité", et ont le X-UA-Compatible dans vos en-têtes de réponse, il y a une autre raison pour laquelle votre navigateur pourrait par défaut à "Affichage de Compatibilité" de toute façon - la Stratégie de Groupe. Regardez votre console le message suivant:

HTML1203: xxx.xxx a été configuré pour s'exécuter en mode de Compatibilité via la Stratégie de Groupe.

Où xxx.xxx est le nom de domaine de votre site (c'est à dire test.com). Si vous voyez ce à la stratégie de groupe pour votre domaine, de sorte que tout site se terminant en test.com affiche automatiquement en mode de Compatibilité indépendamment de doctype, en-têtes, etc.

Pour plus d'informations, veuillez consulter le lien suivant explique les codes html): http://msdn.microsoft.com/en-us/library/ie/hh180764(v=vs. 85).aspx

-3voto

unclenorton Points 1271

Quel est le point de l'utilisation de l' Edge mot-clé seul? Je veux dire, si vous voulez, c'est à dire utiliser la plus récente du moteur de rendu, puis il suffit de déposer l'ensemble de la balise meta.

Sinon, il devrait ressembler à quelque chose comme ça (qui ferait IE8 se comporter comme IE7 et IE9 et plus récent fonctionnera comme d'habitude) :

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=Edge" />

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X