ASP.NET 4.0中的最佳浏览器检测解决方案

ASP.NET 4.0中的最佳浏览器检测解决方案,asp.net,asp.net-4.0,browser-detection,Asp.net,Asp.net 4.0,Browser Detection,我在谷歌上搜索了这个主题,发现了三种配置浏览器功能的不同方法:browscap.ini、web.config中的browserCaps元素和App_浏览器中的.browser文件。我想.browser文件是最新的方式,但我似乎找不到最新的文件。但我从中发现了非常新鲜的browscap.ini 我的首要任务是将普通爬虫从访问者统计中排除。第二个优先级是检测版本正确的浏览器和操作系统(例如Opera 11/Win7) 有我可以使用的图书馆吗?browscap.ini是否仍然是一种有效的方式,是否可以

我在谷歌上搜索了这个主题,发现了三种配置浏览器功能的不同方法:browscap.ini、web.config中的browserCaps元素和App_浏览器中的.browser文件。我想.browser文件是最新的方式,但我似乎找不到最新的文件。但我从中发现了非常新鲜的browscap.ini

我的首要任务是将普通爬虫从访问者统计中排除。第二个优先级是检测版本正确的浏览器和操作系统(例如Opera 11/Win7)

有我可以使用的图书馆吗?browscap.ini是否仍然是一种有效的方式,是否可以在不访问系统文件的情况下使用它?在哪里可以找到最新的.browser文件?

更多信息: 你检查过这个了吗

    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"
        + "Supports JavaScript Version = " +
            browser["JavaScriptVersion"] + "\n";

    TextBox1.Text = s;

到目前为止,我已经使用了客户端检测

为了不让其他人走上这条黑暗的道路,请注意,即使是jQuery团队也建议您不要使用jQuery.browser对象:


“jQuery 1.3中不推荐使用$.browser属性”

我从中找到了一个用户代理解析器,它对我来说似乎已经足够好了。

最好的答案是功能检测,而不是浏览器检测!在Firefox和Chrome几个月前发布版本,移动浏览器使用量不断增长的今天,情况尤其如此。使用现代化(http://Modernizr.com)或者一个等效的库来检测您感兴趣的功能。

我一直在使用Request.Browser获取浏览器信息,但我需要最新的配置文件。当我使用Opera 11/Win7进行测试时,它给了我Opera 9.80/WinNT。不建议使用此选项。这来自jQuery官方文档:“我们建议不要使用此属性;请尝试改用功能检测(请参阅jQuery.support)。jQuery.browser可能会在未来的jQuery版本中移动到插件中。”事实上,它在v1.3中被弃用,在v1.9中被完全删除。我不需要知道浏览器是否支持最新的css或html5技巧。我写的是C#/.net编程,目标受众很可能拥有Windows和最先进的浏览器。我很想知道其他人对什么感兴趣。只要浏览器存在漏洞,我就想知道人们在使用什么浏览器。如果客户给我打电话或发电子邮件说页面看起来坏了,我会想知道他们的浏览器,看看我是否可以重复。我宁愿提前检测并记录他们的浏览器版本,也不愿尝试通过电话从他们那里获取这些信息。找不到