Het is handig om niet alléén uit te vinden of een browser IE9 is, maar gelijktijdig even te kijken of de browser strict is of "oud IE". Ik heb hieronder een paar regeltjes javascript "gezet". Voor de detectie heb je alleen maar de eerste twee var's nodig (var nieuw_ie, en var oud_ie). De derde var geldt alleen maar voor IE9 (zonder de overige browsers te "checken").
Om het maar gelijk duidelijk te maken:
<script>
var nieuw_ie = window.navigator.systemLanguage && (!document.documentMode || document.documentMode < 9) ? 1 : 0;
var oud_ie = nieuw_ie && document.namespaces ? 1 : 0;
var expliciet_ie9 = window.navigator.systemLanguage && (!document.documentMode || document.documentMode === 9) ? 1 : 0;
if(oud_ie){document.write("je gebruikt momenteel een oude IE-browser");}
else{document.write("je gebruikt momenteel een strict browser");}
if(expliciet_ie9){document.write(": IE9");}
</script>
Nog even een antwoord op een goede vraag:
(die luidde: waarom IE9 speciaal checken, en niet gewoon álle IE-browsers)
Dat is omdat IE9 (bijvoorbeeld) canvas ondersteunt en een paar IE-filters niet meer. Als je niet de "strict code" aan IE9 "geeft", heb je flinke kans dat de pagina volkomen "in de soep loopt". Vandaar...