The best browser detection solution in ASP.NET 4.0
Solution 1
I found a user agent parser from http://user-agent-string.info/ and it seems to be good enough for my purposes.
Solution 2
more info : http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx Have you checked this :
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;
Solution 3
Just so no one else goes down that dark path, be aware that even the jQuery team recommend that you DO NOT use jQuery.browser object:
"The $.browser property is deprecated in jQuery 1.3"
Mike Koder
Updated on May 06, 2020Comments
-
Mike Koder about 4 years
I googled this topic and I came across with three different ways to configure browser capabilities: browscap.ini, browserCaps element in web.config and .browser files in App_Browsers. I thought .browser files is the latest way, but I don't seem to find up-to-date files. But I found quite fresh browscap.ini from http://browsers.garykeith.com/downloads.asp.
My first priority is to exclude common crawlers from the visitor stats. The second priority is to detect browser and os with correct versions (e.g. Opera 11 / Win7).
Are there any libraries I could use? Is browscap.ini still a valid way and is it possible to use it without access to system files? Where can I find up-to-date .browser files?
-
Mike Koder over 13 yearsI've been using Request.Browser to get browser information, but I need up-to-date config files. It gives me Opera 9.80/WinNT when I test with Opera 11/Win7.
-
Jonathan over 13 yearsIts not recommended to use this. This is from the jQuery official Docs: "We recommend against using this property; please try to use feature detection instead (see jQuery.support). jQuery.browser may be moved to a plugin in a future release of jQuery."
-
Mike Koder almost 13 yearsI don't need to know if the browser supports the latest css or html5 tricks. I write about C#/.net programming and the target audience will most likely have Windows and bleeding edge browser. I'm curious to find out what were the others interested in.
-
T.J. Crowder almost 10 yearsIndeed, it was deprecated in v1.3 and removed entirely in v1.9.
-
Chris over 8 yearsAs long as browser bugs exist, I'll want to know what browser people are using. If a client calls or emails me to say the page looks broken, I'll want to know their browser to see if I can repeat it. I'd rather detect and log their browser version in advance than try to get this info from them on the phone.