Buenas, buena presentación y buen código. En mi caso con MSIE tampoco ha funcionado. En primer lugar, debido a la configuración de seguridad del navegador. A mí me aparece el mensaje "Internet Explorer no permitió que esta página web ejecutara scripts o controles ActiveX en el equipo". Si le indico "Permitir" en la parte de expresiones regulares sigue sin funcionarme, y en la parte de indexOf me aparece "Usted está usando el navegador: Navegador desconocido".
En window.navigator.userAgent lo que me devuelve es: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko
Mozilla era la mascota de Netscape, y Netscape fue uno de los navegadores más populares (o el más popular) en la época en que internet se expandió y comenzó a ser usado por todo el mundo. Confunde porque cuando vemos Mozilla normalmente pensamos en Mozilla Firefox, pero en este caso no es el user-agent de Firefox sino de una versión del Explorer.
Tradicionalmente siempre que los navegadores eran Microsoft Internet Explorer, en el user-agent string aparecía MSIE, pero hay versiones donde no aparece y tendrían que ser identificados de otra manera.
En fin, un pequeño lío. De cualquier forma, el objetivo en el curso es tener una idea general sobre el reconocimiento de navegadores y por ese lado misión cumplida.
Salu2