3

根据 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 的开发人员工具,我可以将用户代理字符串更改为 IE 以外的任何其他字符串Default,它们会IE按文档返回,但默认返回InternetExplorer.

他们为什么要把那个字符串改成InternetExplorer? 那里有任何文件为什么他们会这样做?

4

1 回答 1

0

有几个客户因此被我的门户网站阻止(在数百个使用 IE11 的人中)。

两个客户的ie版本分别是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:\builds\07082015\INS\WIN32_WIN7\EN-US\IE11-Setup-Full

只是通过向导没有添加或自定义任何东西。重启后:

IE 现在出现 11.0.9600.17420IS。

指向一个开发站点,该站点被检测为转储Request.Browser.Browser,它出现了InternetExplorer......不是IE

这是 Win7 64 位集成和 Windows 2k12 上的 .NET4.0(未检查 4.5、4.5.1 等)。由于某种原因,它以不同的方式检测 IEAK。

解决方案很简单,我只会让代码允许。

仅供参考:useragentstring.com 字符串看起来与 Gecko 相同 Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0)

于 2015-07-08T20:59:26.860 回答