Я бегу 7 Windows (64 бит) с IE 11 Как правильно определить IE11 или более позднюю версию?
, имеющий следующий navigator.userAgent
:
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2;
.NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
.NET4.0C; .NET4.0E)"
Я хочу, чтобы быть в состоянии обнаружить версию IE, прежде чем я могу отобразить что-либо на мой сайт. Другими словами, компания, с которой я работаю, обновила большинство компьютеров для запуска IE11 или Chrome. Но на некоторых компьютерах все еще есть IE9.
Я хочу, чтобы мой сайт работал правильно для людей, работающих под IE11 или хром. Любая другая версия браузера должна быть обнаружена, и пользователь сообщил об обновлении своей машины.
Весь код, который я нашел на ссылках SO v11
, является частью строки userAgent
, но здесь это не так.
Edit: Я также попытался:
var isIE11 = !!(navigator.userAgent.match(/Trident/)
&& !navigator.userAgent.match(/MSIE/));
//value is false in IE6/IE9/IE11
var isIE11 = !!(navigator.userAgent.match(/Trident/)
&& navigator.userAgent.match(/rv 11/));
//value is false in IE6/IE9/IE11
var isIE11 = !(window.ActiveXObject) && "ActiveXObject" in window;
//value is false in IE6/IE9/IE11
Что можно сделать, чтобы обнаружить IE11?
Редактировать 2: эта ссылка http://kangax.github.io/compat-table/es6/ имеет возможность проверить функцию hoisted ...
, которая работает только на IE11. Так что я попытался это:
{ function f() { return 1; } }
function g() { return 1; }
{ function g() { return 2; } }
{ function h() { return 1; } }
function h() { return 2; }
alert(f() === 1 && g() === 2 && h() === 1); // alerts false in all ie versions
Вероятно, это могло бы помочь http://stackoverflow.com/questions/18907131/detecting-ie11-using-css-properties – Vincent1989
@ Vincent1989 спасибо, но я уже был на этот ответ. Мой случай уникален. У меня есть 11, но userAgent ничего не говорит об этом. Поэтому для меня это не работает – Ahmad
Почему вы хотите определить тип/версию браузера? Рекомендуемый способ - обнаружить функции и только реализовать их, если они доступны. См. Также http://stackoverflow.com/questions/21391593/what-is-a-reliable-way-to-detect-a-clients-browser-and-its-version-number/21465991#21465991 – Xotic750