6

Я работаю над приложением MVC. Framework 4.5, VS 2010. У меня есть часть кода Javascript, которая определяет, в каком браузере приложение работает. Если браузер является Firefox, то конкретный блок кода будет выполнен, если не будет выполнен другой блок-код. С IE 11 У меня странная проблема. Браузер (т.е. 11) распознает себя как Mozilla.IE 11 распознает себя как Mozilla

код JavaScrip:

if ($.browser.mozilla) { 
     if (location.pathname == "/Stats/Reports") {   // This is for local env. 
     $("#prntCss").attr("href", "../../../Content/SitePrint_FF.css"); 
      } 
      else {             
     $("#prntCss").attr("href", "../../Content/SitePrint_FF.css"); 
     $("#rptPrntCss").attr("href", "../../Content/reportPrintStyles_FF.css"); 
      } 

enter image description here

+2

Это отличный пример того, почему $ .browser осуждается/удален –

+1

Вопрос не должен быть закрыт, как дублируется. IE 11 имеет другую вещь, и другой вопрос об обнаружении с JQuery не говорит об этом. –

ответ

3

Да , это does:

Совместимые («совместимые») и браузерные («MSIE») токены были удалены .

...

Эти изменения помогают предотвратить IE11 от того (неправильно) идентифицирован как более ранней версии.

Все еще есть некоторые способы его обнаружить (поиск «Как обнаружить ie11»), но лучше всего удалить код обнаружения браузера.

19

Да. IE 11 не говорит, что это IE больше, он говорит, что это Mozilla.

Althoug, все версии IE отвечают на вопрос Trident (его механизм компоновки) во всех своих версиях.

Так что-то подобное может работать в вашем JavaScript

<script type="text/javascript"> 
    CheckIE(); 
    function CheckIE() 
    { 
    var Browser; 
    Browser = navigator.userAgent; 
    if (Browser.indexOf("Trident") == -1) 
    { 
     //WHATHEVER YOU WANT IF IT IS NOT INTERNET EXPLORER 
    } 
    } 
</script> 
+0

Фантастический! Рабочее решение, которое не пыталось сказать мне использовать функцию обнаружения. Обнаружение функции возвращает положительное значение для тени в IE11, но если вы применяете тень для теней к телу, он помещает тень вокруг каждой ячейки в таблице и выглядит ужасно, так же как и каждый другой IE, так что это именно то, что мне нужно. –

+0

Я был впечатлен тем, что сделал IE с 10 лет, серьезно приложив немало усилий. Но быть настолько явно хромым, чтобы начать носить цвета прохладных клубов и притворяться, что это Mozilla? Это старая школа, Билл Гейтс Microsoft, продавать любой ценой, жалкое решение на всем пути. Как волноваться. О, и хорошая работа вокруг ... но как долго, пока MS не начнет носить Trident? – kellycode