浏览器检测

cnd*_*cnd 47 c# asp.net browser-detection

我需要将IE和FF浏览器与其他浏览器分开

这是一个伪代码:

If (CurrentBrowser == IE(6+) or FF(2+) )
{
...
}
else 
{
...
}
Run Code Online (Sandbox Code Playgroud)

protected void Page_Load()事件中(这样认为)

if ((Request.Browser.Type == "IE") || (Request.Browser.Type == "FF"))
{
    WebMsgBox.Show("1111");
}
Run Code Online (Sandbox Code Playgroud)

没有效果: - /什么是IE和FF类型?

Asa*_*sad 73

if (Request.Browser.Type.Contains("Firefox")) // replace with your check
{
    ...
} 
else if (Request.Browser.Type.ToUpper().Contains("IE")) // replace with your check
{
    if (Request.Browser.MajorVersion  < 7)
    { 
        DoSomething(); 
    }
    ...
}
else { }
Run Code Online (Sandbox Code Playgroud)

  • 截至今天,这种情况非常严重.`Request.Browser`为**Firefox 17**返回`Mozilla17`.对于**Google Chrome 23**,它会返回"AppleMAC-Safari".多么神圣! (8认同)
  • Request.Browser.Type.Contains("Firefox")是正确的=) (2认同)
  • IE11的类型是"InternetExplorer11". (2认同)

Ton*_*ion 23

这是一种可以请求有关所使用浏览器的信息的方法,您可以使用它来执行if语句

System.Web.HttpBrowserCapabilities browser = Request.Browser;
    string s = "Browser Capabilities\n"
        + "Type = "                    + browser.Type + "\n"
        + "Name = "                    + browser.Browser + "\n"
        + "Version = "                 + browser.Version + "\n"
        + "Major Version = "           + browser.MajorVersion + "\n"
        + "Minor Version = "           + browser.MinorVersion + "\n"
        + "Platform = "                + browser.Platform + "\n"
        + "Is Beta = "                 + browser.Beta + "\n"
        + "Is Crawler = "              + browser.Crawler + "\n"
        + "Is AOL = "                  + browser.AOL + "\n"
        + "Is Win16 = "                + browser.Win16 + "\n"
        + "Is Win32 = "                + browser.Win32 + "\n"
        + "Supports Frames = "         + browser.Frames + "\n"
        + "Supports Tables = "         + browser.Tables + "\n"
        + "Supports Cookies = "        + browser.Cookies + "\n"
        + "Supports VBScript = "       + browser.VBScript + "\n"
        + "Supports JavaScript = "     + 
            browser.EcmaScriptVersion.ToString() + "\n"
        + "Supports Java Applets = "   + browser.JavaApplets + "\n"
        + "Supports ActiveX Controls = " + browser.ActiveXControls 
              + "\n";
Run Code Online (Sandbox Code Playgroud)

MSDN文章

  • Tony-The-Lion:我没有侮辱你,只是陈述事实,这就是证据.该代码不会告诉您是运行Firefox还是Chrome.这对IE来说只是好事.上面代码的输出是:\n \n IE 9:Type = IE9 Browser = IE FIREFOX 17:Type = Mozilla17 Browser = Mozilla CHROME 23:Type = Desktop Browser = AppleMAC-Safari.为自己运行该代码,看看它将输出什么.我无法粘贴整个输出,因为此编辑字段仅允许有限数量的字符. (4认同)

小智 6

试试下面的代码

HttpRequest req = System.Web.HttpContext.Current.Request
string browserName = req.Browser.Browser;
Run Code Online (Sandbox Code Playgroud)