Detectar versão do IE (antes da v9) em JavaScript

Eu quero levar os usuários do nosso site para uma página de erro, se eles estão usando uma versão doInternet Explorer antes de v9. Não vale a pena o nosso tempo e dinheiro para apoiarIE pre-v9. Usuários de todos os outros navegadores não-IE estão bem e não devem ser devolvidos. Aqui está o código proposto:

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
    }
}

Esse código fará o truque?

Para evitar alguns comentários que provavelmente virão do meu jeito:

Sim, eu sei que os usuários podem forjar seususeragent corda. Eu não estou preocupado.Sim, eu sei que os profissionais de programação preferem farejar o suporte a recursos em vez do tipo navegador, mas não sinto que essa abordagem faça sentido nesse caso. Eu já sei que todos os navegadores não relevantes (relevantes) suportam os recursos que eu preciso e que todospre-v9 IE navegadores não. Verificar o recurso por recurso em todo o site seria um desperdício.Sim, eu sei que alguém tentando acessar o site usandoIE v1 (ou> = 20) não teria 'badBrowser' configurado como true e a página de aviso não seria exibida corretamente. Esse é um risco que estamos dispostos a aceitar.Sim, eu sei que a Microsoft tem "comentários condicionais" que podem ser usados ​​para a detecção precisa da versão do navegador. O IE não suporta mais comentários condicionais desdeIE 10, tornando esta abordagem absolutamente inútil.

Quaisquer outras questões óbvias para estar ciente?