jeudi 9 avril 2009
Depuis la sortie d'IE 8, l'équipe de Microsoft a fait en sorte que son fureteur devienne plus strict dans l'interprétation du code en suivant un peu plus les recommandations du W3C, notamment en ce qui a trait à la conformité au CSS 2.1.
Dans certains cas, les pages qui étaient rendues correctement sous IE7 deviennent altérées sous la nouvelle version. On peut corriger ce comportement de deux façons.
Option 1
Dans la balise HEAD, ajouter le code HTML suivant pour forcer IE à émuler l'interprétation du code comme le faisait IE 7 :
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7";Pour qu'il prenne effet, il est préférable de le placer à l'intérieur de HEAD, immédiatement après la balise TITLE mais avant les autres META.
<head>Option 2
<title>Code 18</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7";
...
Ajouter un header HTTP au niveau serveur.
Dans le fichier Web.config de IIS :
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
Pour Apache, assurez-vous que mod_headers.so soit chargé dans httpd.conf (en retirant le # devant la ligne), ensuite, faites le suivre la déclaration du header. Toutes les pages du serveur incluront cette entête.
LoadModule headers_module modules/mod_headers.so
Header set X-UA-Compatible "IE=EmulateIE7"
Pour restreindre son application un répertoire du site, insérez-le à l'intérieur de <location></location>.
4 modes possibles
- IE=5 : mode "Quirks", compatibilité Internet Explorer 5
- IE=7 pour suivre les standards de la version 7
- IE=8 tient compte des dernières fonctionnalités ajoutées, y compris la mise en page conforme au CSS 2.1
- IE=edge choisit le meilleur mode possible selon la version la plus récente disponible. Idéal pour fins de tests mais non conseillé en production.