Detectar la versión de IE (antes de v9) en JavaScript

Quiero enviar a los usuarios de nuestro sitio web a una página de error si están usando una versión deInternet Explorer antes de v9. Simplemente no vale la pena nuestro tiempo y dinero para apoyarIE pre-v9. Los usuarios de todos los demás navegadores que no son IE están bien y no deben ser rechazados. Aquí está el código propuesto:

if(navigator.appName.indexOf("Internet Explorer")!=-1){     //yeah, he's using IE
    var badBrowser=(
        navigator.appVersion.indexOf("MSIE 9")==-1 &&   //v9 is ok
        navigator.appVersion.indexOf("MSIE 1")==-1  //v10, 11, 12, etc. is fine too
    );

    if(badBrowser){
        // navigate to error page
    }
}

¿Este código hará el truco?

Para evitar algunos comentarios que probablemente vendrán en mi camino:

Sí, sé que los usuarios pueden forjar sususeragent cuerda. No estoy preocupadoSí, sé que los profesionales de la programación prefieren oler el soporte de funciones en lugar del tipo de navegador, pero no creo que este enfoque tenga sentido en este caso. Ya sé que todos los navegadores que no son de IE (relevantes) son compatibles con las funciones que necesito y que todospre-v9 IE los navegadores no lo hacen. La verificación de una característica por otra en todo el sitio sería un desperdicio.Sí, sé que alguien que intenta acceder al sitio utilizandoIE v1 (o> = 20) no configuraría 'badBrowser' como verdadero y la página de advertencia no se mostraría correctamente. Ese es un riesgo que estamos dispuestos a asumir.Sí, sé que Microsoft tiene "comentarios condicionales" que se pueden usar para la detección precisa de la versión del navegador. IE ya no admite comentarios condicionales a partir deIE 10, haciendo este enfoque absolutamente inútil.

¿Alguna otra cuestión obvia a tener en cuenta?