J'ai besoin de savoir si le navigateur qui s'identifie via la chaîne de l'agent utilisateur comme étant IE7 ou IE8 est vraiment ces navigateurs, ou s'il s'agit d'IE9 en mode de compatibilité 7 ou 8.
D'après ce que je peux voir dans la chaîne de l'agent utilisateur, un IE9 en mode de compatibilité IE7, fournit une chaîne identique à un vrai IE7. Y a-t-il une propriété / élément / objet supplémentaire que je peux tester pour voir si c'est "vraiment" IE9 déguisé?
Je suppose que le mode document n'aidera pas car la page dans laquelle mon script est chargé pourrait forcer des bizarreries ou forcer un paramètre spécifique.
J'espère que IE9 aura une propriété qui existe et est testable indépendamment du fait qu'il soit en mode 7, 8 ou 9.
Modifié pour ajouter…
OK, je vois où je me suis trompé maintenant. J'utilisais le menu déroulant "Mode navigateur" et je le commutais sur IE8 et IE7 et je pensais que c'était respectivement "Mode de compatibilité IE8" et "Mode de compatibilité IE7". Ceci n'est bien sûr pas vrai. Le mode Navigateur des outils de développement le fait vraiment passer pour "ressembler" à ces anciens navigateurs, il est donc normal que les chaînes useragent d'origine soient signalées.
Si je quitte le mode navigateur en compatibilité IE9 ou IE9 et que j'essaye plutôt les variantes de la liste déroulante du mode document, alors j'obtiens en fait "Trident / 5.0" présent dans les 8 combinaisons (deux modes navigateur et 4 modes document). Je dois juste éviter de choisir le mode navigateur IE7 et IE8 car ils sont vraiment (simulés) IE7 et IE8.
Il n'y a donc aucun moyen pour qu'une page, un utilisateur non développeur, une balise Meta ou une liste de compatibilité de Microsoft puisse mettre IE9 dans cet état non identifiable.
La simple utilisation if(navigator.userAgent.indexOf("Trident/5")>-1)
sera suffisante.
Ne vous inquiétez pas, ce n'est pas pour les styles, la mise en forme, la logique ou le contenu de la page. J'utilise la détection de fonctionnalités pour ces choses. J'ai juste besoin de détecter IE9 (quel que soit le mode dans lequel il se trouve) et de prendre une décision concernant le contenu hors page.
Merci de m'avoir orienté vers la réponse avec vos suggestions et liens.