Question

Je comprends de mes recherches que IE8 fait des choses ennuyeuses comme se forcer en mode IE7 pour les hôtes intranet local et plages d'adresses IP locales. Je comprends d'un question précédente qu'il n'y a aucun moyen d'utiliser des instructions conditionnelles que, quel que soit si IE8 est rendu en mode IE8 ou IE7, il utilisera encore que le conditionnel <!--[if IE 8]>.

Étant donné que cette question a été posée il y a un moment (pendant la phase bêta IE8 par les regards des choses) Je me demande si cela a changé ou s'il y a une autre façon en utilisant conditionals pour déterminer si IE8 est en mode de compatibilité.

Merci!

Était-ce utile?

La solution

Non, vous ne pouvez pas le faire en utilisant conditionals.

La meilleure façon de le faire est d'utiliser la propriété document.documentMode comme décrit dans le lien Pekka affiché. Comment puis-je détecter si IE8 est en cours d'exécution en matière de compatibilité vue

Autres conseils

En fin de compte, j'ai choisi de mélanger les deux stratégies communes pour faire face à ce bogue.

Je créé un fichier CSS prioritaire, que j'importer à l'aide des commentaires conditionnels. En cas de IE 8 ou 9, cependant, cette dérogation ne semble pas aussi bon, donc j'inclure le commutateur d'en-tête « force IE dans le dernier mode de rendu », comme indiqué ci-dessous.

<!--[if lte IE 7]>
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <link rel="stylesheet" type="text/css" href="/Content/IE7Overrides.csss" />
<![endif]-->

Cette offre IE7 avec un dispositif de sécurité décent, mais les forces IE8 et IE9 pour l'afficher dans le dernier navigateur, qui montrera la table à base de CSS correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top