Saya perlu tahu apakah browser yang mengidentifikasi dirinya melalui string agen pengguna sebagai IE7 atau IE8 benar-benar browser tersebut, atau apakah itu IE9 dalam mode kompatibilitas 7 atau 8.
Dari apa yang dapat saya lihat di string agen pengguna, IE9 dalam mode kompatibilitas IE7, menyediakan string yang identik dengan IE7 asli. Apakah ada properti / elemen / objek tambahan yang dapat saya uji untuk melihat apakah itu "benar-benar" IE9 yang menyamar?
Saya berasumsi mode dokumen tidak akan membantu karena halaman yang memuat skrip saya bisa jadi memaksa kebiasaan atau memaksa pengaturan tertentu.
Saya berharap IE9 akan memiliki beberapa properti yang ada dan dapat diuji terlepas dari apakah itu dalam mode 7, 8 atau 9.
Diedit untuk menambahkan…
Oke, saya mengerti di mana kesalahan saya sekarang. Saya menggunakan menu tarik-turun "Mode Browser" dan mengalihkannya ke IE8 dan IE7 dan mengira ini adalah "mode kompatibilitas IE8" dan "mode kompatibilitas IE7". Ini tentu saja tidak benar. Mode Browser alat pengembang benar-benar mengubahnya menjadi "menjadi seperti" browser lama tersebut, jadi wajar saja jika string agen pengguna asli dilaporkan.
Jika saya meninggalkan mode browser dalam kompatibilitas IE9 atau IE9 dan mencoba varian dropdown mode dokumen sebagai gantinya, maka saya sebenarnya mendapatkan "Trident / 5.0" hadir dalam semua 8 kombinasi (dua mode browser dan 4 mode dokumen). Saya hanya perlu menghindari memilih mode browser IE7 dan IE8 karena keduanya benar-benar (disimulasikan) IE7 dan IE8.
Jadi tidak mungkin halaman, pengguna non-pengembang, tag meta, atau daftar kompatibilitas Microsoft akan dapat menempatkan IE9 ke dalam status yang tidak dapat diidentifikasi ini.
Menggunakan saja if(navigator.userAgent.indexOf("Trident/5")>-1)
sudah cukup.
Jangan khawatir, ini bukan untuk gaya, pemformatan, logika, atau konten halaman. Saya menggunakan deteksi fitur untuk hal-hal itu. Saya hanya perlu mendeteksi IE9 (terlepas dari mode apa yang digunakan) dan membuat keputusan konten non-halaman tentang itu.
Terima kasih telah mengarahkan saya menuju jawaban dengan saran dan tautan Anda.