Detect Internet explorer browser version problems

2020-02-14 04:32发布

I have Getaway in my MVC3 application in Layout :

@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion == 7)))
{
//show some content
}
else
{
//show another content 
}

I have many users complains (users with internet explorer 8). They see Internet explorer 7 content from my app. What wrong with my way of detecting Internet explorer 7 version? How can I be sure for 100% in my application that user have internet explorer 7 version? May be this is specific OS problem?

2条回答
Luminary・发光体
2楼-- · 2020-02-14 04:56

The issue is the HttpBrowserCapabilities aka Request.Browser class parses the userAgent header from the request which has information about the client (in your case the browser) which might not always be 100% reliable as user agents are easily changeable.

If you know what value MajorVersion is returning and it's consistent enough you could possibly put a fix in for it. Alternatively you could try checking for browsers lower than IE8 instead (again though, not 100%) e.g.

@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion < 8)))
{
    //show IE7 content
}
else
{
    //show IE8+ content 
}
查看更多
Evening l夕情丶
3楼-- · 2020-02-14 05:05

The version number needs to be specific for IE.

 if (Request.Browser.Browser == "IE" && Request.Browser.Version == "7.0") 
        { 
          //Show IE 7 content
        }
 else
  {
     // Show other than IE7 content
  }
查看更多
登录 后发表回答