Preciso saber se o navegador que está se identificando por meio da string do agente do usuário como sendo IE7 ou IE8 é realmente esses navegadores, ou se é IE9 no modo de compatibilidade 7 ou 8.
Pelo que posso ver na string do agente do usuário, um IE9 no modo de compatibilidade do IE7 oferece uma string idêntica a um IE7 real. Existe uma propriedade / elemento / objeto extra que eu possa testar para ver se é "realmente" o IE9 disfarçado?
Presumo que o modo de documento não vá ajudar, pois a página em que meu script é carregado pode estar forçando peculiaridades ou forçando uma configuração específica.
Espero que o IE9 tenha alguma propriedade que exista e seja testável, independentemente de estar no modo 7, 8 ou 9.
Editado para adicionar…
OK, eu vejo onde estava errado agora. Eu estava usando o menu suspenso "Modo de navegador" e mudando para o IE8 e IE7 e pensando que era "modo de compatibilidade do IE8" e "modo de compatibilidade do IE7", respectivamente. Isto naturalmente não é verdade. O modo de navegador das ferramentas do desenvolvedor realmente está mudando para "ser como" aqueles navegadores antigos, então é correto que as strings do agente do usuário originais sejam relatadas.
Se eu deixar o modo de navegador na compatibilidade do IE9 ou IE9 e tentar as variantes suspensas do modo de documento em vez disso, recebo "Trident / 5.0" presente em todas as 8 combinações (dois modos de navegador e 4 modos de documento). Só preciso evitar a escolha do modo de navegador IE7 e IE8 porque eles realmente são (simulados) IE7 e IE8.
Portanto, não há como uma página, um usuário não desenvolvedor, uma meta tag ou lista de compatibilidade da Microsoft ser capaz de colocar o IE9 nesse estado não identificável.
Apenas usar if(navigator.userAgent.indexOf("Trident/5")>-1)
será suficiente.
Não se preocupe, isso não é para estilos, formatação, lógica ou conteúdo de página. Eu uso a detecção de recursos para essas coisas. Eu só preciso detectar o IE9 (independentemente do modo em que esteja) e tomar uma decisão quanto ao conteúdo que não seja da página.
Obrigado por me direcionar para a resposta com suas sugestões e links.