Muszę wiedzieć, czy przeglądarka, która identyfikuje się poprzez ciąg agenta użytkownika jako IE7 lub IE8, to naprawdę te przeglądarki, czy też jest to IE9 w trybie zgodności 7 lub 8.
Z tego, co widzę w ciągu agenta użytkownika, IE9 w trybie zgodności IE7 zapewnia identyczny ciąg znaków z prawdziwym IE7. Czy istnieje dodatkowa właściwość / element / obiekt, który mogę przetestować, aby sprawdzić, czy to „naprawdę” IE9 w przebraniu?
Zakładam, że tryb dokumentu nie pomoże, ponieważ strona, na którą jest ładowany mój skrypt, może wymuszać dziwactwa lub wymuszać określone ustawienie.
Mam nadzieję, że IE9 będzie miał jakąś właściwość, która istnieje i jest testowalna niezależnie od tego, czy jest w trybie 7, 8 czy 9.
Edytowano w celu dodania…
OK, teraz rozumiem, do czego zmierzałem źle. Używałem menu rozwijanego „Tryb przeglądarki” i przełączałem go na IE8 i IE7 i sądziłem, że jest to odpowiednio „tryb zgodności IE8” i „tryb zgodności IE7”. To oczywiście nieprawda. Tryb przeglądarki narzędzi deweloperskich naprawdę przełącza go tak, aby był „podobny” do tych starych przeglądarek, więc tylko słuszne jest zgłaszanie oryginalnych ciągów agenta użytkownika.
Jeśli opuszczę tryb przeglądarki zgodny z IE9 lub IE9 i wypróbuję zamiast tego warianty menu rozwijanego trybu dokumentu, w rzeczywistości otrzymam „Trident / 5.0” we wszystkich 8 kombinacjach (dwa tryby przeglądarki i 4 tryby dokumentów). Muszę tylko omijać wybór trybu przeglądarki IE7 i IE8, ponieważ tak naprawdę są (symulowane) IE7 i IE8.
Nie ma więc możliwości, aby strona, użytkownik niebędący programistą, metatag lub lista zgodności firmy Microsoft mogła wprowadzić przeglądarkę IE9 w ten niezidentyfikowany stan.
Samo użycie if(navigator.userAgent.indexOf("Trident/5")>-1)
wystarczy.
Nie martw się, nie dotyczy to stylów, formatowania, logiki ani zawartości strony. Używam wykrywania funkcji do tych rzeczy. Muszę tylko wykryć IE9 (niezależnie od tego, w jakim trybie się znajduje) i podjąć decyzję dotyczącą zawartości innej niż strona.
Dziękuję za skierowanie mnie do odpowiedzi za pomocą sugestii i linków.