67 votes

Comment puis-je désactiver par programme le mode de compatibilité d'IE ?

J'ai été bloqué sur ce point pendant un certain temps - je n'arrivais pas à comprendre pourquoi un site web avait un rendu différent dans deux versions identiques d'Internet Explorer. Il y a une demi-heure, je suis tombé sur un bouton de mode de compatibilité dans IE qui m'a mis très en colère.

La désactivation du mode de compatibilité a réglé mon problème.

Existe-t-il un moyen de le désactiver de manière programmatique, c'est-à-dire à partir d'une page Web ?

Edit :

Je suis tombé sur ce blog http://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx

Je vais poster un exemple de code après avoir lu l'article.

84voto

scunliffe Points 30964

Si vous voulez l'"ancien" rendu, et qu'aucun bouton n'apparaît dans la barre d'outils pour que les utilisateurs puissent changer de mode, vous pouvez utiliser ceci :

<head>
  <!-- Mimic Internet Explorer 7 -->
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
  <title>My Web Page</title>
</head>

Les autres options (anciennes et nouvelles) comprennent : IE=5 , IE=7 , IE=8 ou IE=edge

(le bord correspond au mode le plus élevé disponible)

7voto

Donut Points 32892

Vous devez probablement définir correctement votre DOCTYPE. Consultez les articles de MSDN sur DOCTYPE et Définition de la compatibilité des documents pour plus d'informations.

3voto

Deckard Points 1042

Veuillez également noter que les paramètres du navigateur IE8 peuvent également imposer un certain mode. J'ai un client pour lequel le mode de compatibilité IE8 est imposé par la politique en mode intranet.

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