Невозможно определить версию браузера в IE11

1

Я пытаюсь определить браузер и версию, в которой наш пользователь обращается к нашему приложению, используя приведенный ниже код:

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. Что может быть причиной этого. Пожалуйста, предложите, если есть обходной путь.

Теги:
internet-explorer-11
httprequest

1 ответ

0
Лучший ответ

Для обнаружения 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())

Ещё вопросы

Сообщество Overcoder
Наверх
Меню