IE 11浏览器将自己视为Mozilla

Bum*_*Bee 7 javascript asp.net-mvc jquery mozilla internet-explorer-11

我正在研究MVC应用程序,.net 4.5框架,VS 2010.我有一段Javascript代码,用于标识应用程序正在运行的浏览器.如果浏览器是Firefox,那么如果不执行另一个块代码,则将执行特定的代码块.使用IE 11,我遇到了一个奇怪的问题.浏览器(即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");
            }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Ric*_*olo 23

是.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>
Run Code Online (Sandbox Code Playgroud)


小智 2

这是因为 IE 11 的用户代理字符串样式与以前版本的 IE 不同

http://msdn.microsoft.com/library/ms537503.aspx

User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
Run Code Online (Sandbox Code Playgroud)