3

Je comprends de mes recherches que IE8 fait des choses ennuyeuses comme se forcer en mode IE7 pour les hôtes intranet locaux et les plages IP locales. Je comprends d'un previous question qu'il n'y a aucun moyen d'utiliser des instructions conditionnelles car, indépendamment du fait que IE8 soit en mode IE8 ou IE7, il utilisera toujours le conditionnel <!--[if IE 8]>.Déterminez si en mode de compatibilité IE8 en utilisant les conditions

Depuis cette question a été posée il y a un certain temps (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 utilisant conditionals pour déterminer si IE8 est en mode de compatibilité .

Merci!

+0

duplication possible de [Comment puis-je détecter si IE8 fonctionne en mode compatibilité?] (Http://stackoverflow.com/questions/1208837/how-can-i-detect-if-ie8-is-running-in -compatibility-view) –

+0

Pas dupe parce que je pose spécifiquement des questions sur l'utilisation des conditionnels. – Konrad

Répondre

-1

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

J'ai créé un fichier CSS de remplacement, que j'importe en utilisant des commentaires conditionnels. Dans le cas de IE 8 ou 9, cependant, cette substitution ne semble pas aussi bonne, alors j'inclus 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 force IE8 et IE9 de le montrer dans le dernier navigateur, qui montrera la table à base de CSS correctement.

+0

Dès que vous appuyez sur un commentaire conditionnel, IE détermine le mode de rendu dans lequel il se trouve. Pour cette raison, la balise META imbriquée ne fonctionnera pas et ne définira pas IE en mode Edge. Vous pouvez voir un très long fil de commentaires sur Github Repo de HTML5BP à propos de ce problème: https://github.com/h5bp/html5-boilerplate/issues/378 – calvinf

+0

@calvinf: Odd, parce qu'il travaille en production depuis plusieurs mois. Quelque chose d'autre doit se passer qui plâtrent sur le problème. – Jeff

+0

Vos pages définissent-elles la compatibilité X-UA via un en-tête HTTP? De plus, les pages sans compatibilité X-UA seront généralement affichées en mode Edge à moins que votre page figure dans l'une des listes de vues de compatibilité IE de Microsoft (ou sur un site intranet). – calvinf

Questions connexes