Я пытаюсь определить браузер и версию, в которой наш пользователь обращается к нашему приложению, используя приведенный ниже код:
public bool MyBrowser(HttpRequestBase request)
{
HttpBrowserCapabilitiesBase browser = request.Browser;
switch (browser.Browser)
{
case "IE":
{
if (browser.MajorVersion < 6)
//do something
}
case "Firefox":
{
if (browser.MajorVersion < 3)
//do something
}
case "AppleMAC-Safari":
{
if (request.UserAgent.Contains("Chrome") || browser.MajorVersion < 4)
return false;
return true;
}
default: return false;
}
}
Этот код всегда возвращает false, когда пользователь открывает сайт в IE11, эта часть работает нормально, пока мы не переместились в IE11. Что может быть причиной этого. Пожалуйста, предложите, если есть обходной путь.
Для обнаружения IE11 вы можете использовать функцию, аналогичную приведенной ниже. Он возвращает 0 для браузеров без IE.
function ie_ver() {
var iev = 0;
var ieold = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
var trident = !!navigator.userAgent.match(/Trident\/7.0/);
var rv = navigator.userAgent.indexOf("rv:11.0");
if (ieold) iev = new Number(RegExp.$1);
if (navigator.appVersion.indexOf("MSIE 10") != -1) iev = 10;
if (trident && rv != -1) iev = 11;
return iev;
}
alert(ie_ver())