我在布局中使用了MVC3应用程序:
@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion == 7)))
{
//show some content
}
else
{
//show another content
}
我有很多用户抱怨(使用Internet Explorer 8的用户)。他们从我的应用程序中看到Internet Explorer 7内容。 我检测Internet Explorer 7版本的方式有什么问题? 如何在我的应用程序中确保100%用户拥有Internet Explorer 7版本? 可能这是特定的操作系统问题吗?
答案 0 :(得分:13)
问题是HttpBrowserCapabilities又名Request.Browser
类从请求中解析userAgent
标头,该标头包含有关客户端(在您的情况下是浏览器)的信息,该信息可能并非总是100%因为用户代理很容易改变,所以可靠。
如果您知道MajorVersion
返回的值是什么,并且它足够一致,您可能会为其修复此问题。或者,您可以尝试检查低于IE8的浏览器(但同样,不是100%),例如。
@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion < 8)))
{
//show IE7 content
}
else
{
//show IE8+ content
}
答案 1 :(得分:3)
版本号需要特定于IE。
if (Request.Browser.Browser == "IE" && Request.Browser.Version == "7.0")
{
//Show IE 7 content
}
else
{
// Show other than IE7 content
}