根据Microsoft的HttpCapabilitiesBase.Browser Property文档,您可以使用以下代码检查Internet Explorer。
System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).Browser.ToUpper().IndexOf("IE") >= 0)
{
labelText = "Browser is Internet Explorer.";
}
else
{
labelText = "Browser is not Internet Explorer.";
}
在我的MVC应用程序中,以下代码返回InternetExplorer
NOT IE
string browser = HttpContext.Request.Browser.Browser;
使用IE的开发人员工具,我可以将用户代理字符串更改为Default
以外的任何IE,并按照文档记录返回IE
,但默认返回InternetExplorer
。
为什么他们会将该字符串更改为InternetExplorer
?是否有任何文件可以解释为什么他们会这样做?
答案 0 :(得分:0)
有几个客户因为这个被我的门户网站阻止了(数百名参加IE11的人)。
这两个客户的版本是Explorer 11.0.9600.17691 CO和11.0.9600.97843IS
这些是IE的自定义版本:https://support.microsoft.com/en-us/kb/969393
IEAK (Microsoft Internet Explorer Administration Kit)
IC = Internet content provider
IS = Internet service provider
CO = Corporate administrator
从Oracle VM VirtualBox下载Windows 7 IE11并安装到其中。
然后下载了IEAK。 https://technet.microsoft.com/en-us/ie/bb219517.aspx英语。奇怪的是,使用c:\ builds \ 07072015的安装程序没有语言下拉。我去了控制面板并选择了英语(切换)。打开向导,下拉工作正常。
冉: C:\建立\ 07082015 \ INS \ WIN32_WIN7 \ EN-US \ IE11-设置 - 全
刚刚完成了向导,没有添加或自定义任何内容。 重启后:
IE现在出现了11.0.9600.17420IS。
指向一个用于转储Request.Browser.Browser
的开发网站,它出现了InternetExplorer
...而不是IE
!
这是Win4 64位集成的.NET4.0和Windows 2k12(未检查4.5,4.5.1等)。出于某种原因,它会以不同的方式检测IEAK。
解决方案很简单,我只是让代码允许。
仅供参考:useragentstring.com字符串看起来一样 Mozilla / 5.0(Windows NT 6.1; Trident / 7.0; rv:11.0),如Gecko