2011-03-04 87 views
20

我搜索了这个主题,并且发现了三种不同的配置浏览器功能的方法:web.config中的browscap.ini,browserCaps元素和App_Browsers中的.browser文件。我认为.browser文件是最新的方式,但我似乎没有找到最新的文件。但是我从http://browsers.garykeith.com/downloads.asp发现了很新鲜的browscap.ini。ASP.NET 4.0中最好的浏览器检测解决方案

我的首要任务是从访问者统计中排除常见搜寻器。第二个重点是检测正确版本的浏览器和操作系统(例如Opera 11/Win7)。

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

+0

http://browsers.garykeith.com/downloads.asp找不到 – Kiquenet 2017-10-27 11:16:36

回答

7

我发现一个http://user-agent-string.info/的用户代理解析器,它对我的​​目的来说似乎足够好。

+0

不免费,使用它的任何完整的源代码示例? – Kiquenet 2017-10-27 11:17:29

8

更多信息:http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx 你检查这一点:

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; 
+8

我一直在使用请求。浏览器获取浏览器信息,但我需要最新的配置文件。当我使用Opera 11/Win7进行测试时,它给了我Opera 9.80/WinNT。 – 2011-03-04 10:17:21

-1

到目前为止,我已经使用http://api.jquery.com/jQuery.browser/的客户端检测。

+3

不建议使用它。这来自jQuery官方Docs:“我们建议不要使用此属性;请尝试使用特性检测(请参阅jQuery.support)。jQuery.browser可能会在将来的jQuery版本中移至插件中。” – Jonathan 2011-03-24 09:18:09

+0

事实上,它在v1.3中被弃用,并在v1.9中被完全删除。 – 2014-07-07 12:48:37

3

正是如此旁若无人下降是黑暗的道路,要知道,即使是jQuery开发团队建议您不要使用jQuery.browser对象:

“的$ .browser属性在jQuery的1.3弃用”
0

最好的答案是功能检测,而不是浏览器检测!在Chrome浏览器在几个月内推出发布的那一天,移动浏览器的使用不断增加的那一天尤其如此。使用Modernizr(http://Modernizr.com)或等效库来检测您感兴趣的功能。

+4

我不需要知道浏览器是否支持最新的CSS或HTML5技巧。我写了关于C#/ .net编程的内容,目标读者很可能会看到Windows和边缘浏览器。我很想知道其他人对哪些产品感兴趣。 – 2011-08-24 00:42:38

+0

只要浏览器存在问题,我就会想知道人们使用的是什么浏览器。如果客户打电话或发电子邮件告诉我这个页面看起来坏了,我会想知道他们的浏览器是否可以重复。我宁愿提前检测并记录他们的浏览器版本,也不愿意从手机上获取这些信息。 – Chris 2016-02-19 13:23:20