Я хочу отбросить пользователей нашего веб-сайта на страницу с ошибкой, если они используют версию Internet Explorer до v9. Это просто не стоит нашего времени и денег для поддержки IE pre-v9. Пользователи всех других браузеров, отличных от IE, в порядке и не должны отскакивать. Здесь предлагается код:
if(navigator.appName.indexOf("Internet Explorer")!=-1){     //yeah, he 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
    }
}
Будет ли этот код делать трюк?
Чтобы отбросить несколько комментариев, которые, вероятно, будут на моем пути:
-  Да, я знаю, что пользователи могут подделать свою строку useragent. Меня это не касается.
-  Да, я знаю, что программисты предпочитают обнюхивать поддержку функций вместо типа браузера, но я не чувствую, что этот подход имеет смысл в этом случае. Я уже знаю, что все (релевантные) браузеры, отличные от IE, поддерживают функции, которые мне нужны, и что все браузеры pre-v9 IEэтого не делают. Проверка функции по функциям на всем сайте будет пустой тратой.
-  Да, я знаю, что кто-то, пытающийся получить доступ к сайту с помощью IE v1(или >= 20), не получит значение "badBrowser" равным true, и страница с предупреждением будет отображаться неправильно. Это риск, который мы готовы принять.
-  Да, я знаю, что Microsoft имеет "условные комментарии", которые могут использоваться для точного определения версии браузера. IE больше не поддерживает условные комментарии от IE 10, делая этот подход абсолютно бесполезным.
Любые другие очевидные проблемы, о которых нужно знать?
