C# 浏览器检测

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2221722/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-07 00:30:49  来源:igfitidea点击:

Browser detection

c#asp.netbrowser-detection

提问by cnd

I need to separate IE and FF browsers from others

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

it's a pseudo-code :

这是一个伪代码:

If (CurrentBrowser == IE(6+) or FF(2+) )
{
...
}
else 
{
...
}

in protected void Page_Load()event (think so)

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

if ((Request.Browser.Type == "IE") || (Request.Browser.Type == "FF"))
{
    WebMsgBox.Show("1111");
}

no effects :-/ what is IE and FF types?

没有影响:-/ 什么是 IE 和 FF 类型?

采纳答案by Asad

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 { }

回答by ron

I would not advise hacking browser-specific things manually with JS. Either use a javascript library like "prototype" or "jquery", which will handle all the specific issues transparently.

我不建议用 JS 手动破解浏览器特定的东西。要么使用像“prototype”或“jquery”这样的javascript库,它将透明地处理所有特定问题。

Or use these libs to determine the browser type if you really must.

或者,如果您真的必须,使用这些库来确定浏览器类型。

Also see Browser & version in prototype library?

另请参阅原型库中的浏览器和版本?

回答by masoud ramezani

use from

使用自

Request.Browser

this link will help you :

此链接将帮助您:

Detect the browser using ASP.NET and C#

使用 ASP.NET 和 C# 检测浏览器

回答by Tony The Lion

Here's a way you can request info about the browser being used, you can use this to do your if statement

这是您可以请求有关正在使用的浏览器的信息的一种方式,您可以使用它来执行 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";

MSDN Article

MSDN文章

回答by appinterface.com

    private void BindDataBInfo()
    {
        System.Web.HttpBrowserCapabilities browser = Request.Browser;
        Literal1.Text = "<table border=\"1\" cellspacing=\"3\" cellpadding=\"2\">";
        foreach (string key in browser.Capabilities.Keys)
        {
            Literal1.Text += "<tr><td>" + key + "</td><td>" + browser[key] + "</tr>";
        }
        Literal1.Text += "</table>";
        browser = null;
    }

回答by Rahul Mahadik

Try the below code

试试下面的代码

HttpRequest req = System.Web.HttpContext.Current.Request
string browserName = req.Browser.Browser;