web-dev-qa-db-fra.com

IE Mode de compatibilité: balise 'Edge' compatible 'X-UA-Compatible'

J'ai ceci dans le <head>:

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

Cela forcera le dernier mode de rendu pour IE, mais le mode de compatibilité est-il considéré comme le dernier?

Je veux dire, par exemple: en utilisant ce code avec IE8, cela le forcera à utiliser le mode de compatibilité IE8 ou IE8?

56
Jonathan

Cette balise tentera de forcer le navigateur à utiliser le dernier mode de rendu pris en charge par le navigateur. Cela ne déclenchera pas le mode de compatibilité.

Notez que la balise doit être la première balise dans l'en-tête, sinon cela ne fonctionnera pas . Ce fait est en faveur de l'utilisation des en-têtes HTTP si possible, car l'ordre dans les en-têtes HTTP n'a pas d'importance.

Si le navigateur se termine toujours en mode de compatibilité lorsque vous utilisez un en-tête ou une balise méta, l’une des choses suivantes est probablement la cause:

  • il vous manque un doctype sain
  • le navigateur a été configuré pour 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 défini

Modification des paramètres d'affichage de compatibilité des navigateurs

Microsoft considère qu'au moins 192.168.x.x se trouve 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 problème énorme pour de nombreuses applications d'entreprise, car le programmeur NE PEUT PAS remplacer cette option, même avec cette balise méta. ("Afficher les sites intranet dans la vue Compatitiblity" n'est pas remplaçable par la balise méta ou l'en-tête http - le navigateur contrôle dans ce cas la vue de la compatibilité.)

Compatibility View Settings

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

Une autre bonne chose à propos de l'utilisation de cette balise méta est que l'icône "Vue de compatibilité" est supprimée de la barre d'adresse du navigateur. Au moins, vos utilisateurs ne peuvent pas décider du mode de rendu à l’aide de ce bouton.

63
oldwizard

Même si vous avez décoché l'option "Afficher les sites intranet dans l'affichage de compatibilité" et que vous avez compatible avec X-UA dans vos en-têtes de réponse, votre navigateur peut par défaut activer "Affichage de compatibilité": votre stratégie de groupe. Regardez votre console pour le message suivant:

HTML1203: xxx.xxx a été configuré pour s'exécuter dans l'affichage de compatibilité via la stratégie de groupe. 

Où xxx.xxx est le domaine de votre site (c'est-à-dire test.com). Si vous voyez cela, la stratégie de groupe de votre domaine est définie de sorte que tout site se terminant par test.com sera automatiquement rendu en mode de compatibilité, quel que soit le type de document, les en-têtes, etc.

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

2
rshadman

Je ne suis pas un expert mais par essais et erreurs:

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

résolu le problème pour moi. J'ai utilisé cela sur des sites Web et des applications Web et cela a empêché IE8 de passer en mode de compatibilité.

0
MelanieMenard