20

我在谷歌上搜索了这个主题,发现了三种不同的方式来配置浏览器功能:browscap.ini、web.config 中的 browserCaps 元素和 App_Browsers 中的 .browser 文件。我认为 .browser 文件是最新的方式,但我似乎找不到最新的文件。但我从http://browsers.garykeith.com/downloads.asp发现了相当新鲜的 browscap.ini 。

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

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

4

5 回答 5

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;
于 2011-03-04T10:01:21.317 回答
7

我从http://user-agent-string.info/找到了一个用户代理解析器,它似乎对我的目的来说已经足够好了。

于 2011-04-14T14:16:29.503 回答
3

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

“$.browser 属性在 jQuery 1.3 中已弃用”

于 2011-03-19T04:07:03.820 回答
0

最好的答案是特征检测,而不是浏览器检测!在 Firefox 和 Chrome 每隔几个月发布版本并且移动浏览器使用量不断增长的日子里尤其如此。使用 Modernizr (http://Modernizr.com) 或等效库来检测您感兴趣的功能。

于 2011-08-23T22:43:53.963 回答
-1

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

于 2011-03-04T10:46:07.863 回答