UserAgent gives you the raw browser string. It might look like this:
User Agent :: Mozilla / 4.0 (compatible; MSIE 6.0b; Windows NT 5.1; CLR 1.0.2914)
Request.Browser will provide you with an HttpBrowserCapabilities object that will have browser version information as well as additional information about browser capabilities. For example:
- Does the browser support Frames
- Should it support cookies?
- Supports JavaScripts?
- Supports Java applets? and etc.
See the following code example:
HttpBrowserCapabilities bc = Request.Browser; Response.Write("<p>Browser Capabilities:</p>"); Response.Write("Type = " + bc.Type + "<br>"); Response.Write("Name = " + bc.Browser + "<br>"); Response.Write("Version = " + bc.Version + "<br>"); Response.Write("Major Version = " + bc.MajorVersion + "<br>"); Response.Write("Minor Version = " + bc.MinorVersion + "<br>"); Response.Write("Platform = " + bc.Platform + "<br>"); Response.Write("Is Beta = " + bc.Beta + "<br>"); Response.Write("Is Crawler = " + bc.Crawler + "<br>"); Response.Write("Is AOL = " + bc.AOL + "<br>"); Response.Write("Is Win16 = " + bc.Win16 + "<br>"); Response.Write("Is Win32 = " + bc.Win32 + "<br>"); Response.Write("Supports Frames = " + bc.Frames + "<br>"); Response.Write("Supports Tables = " + bc.Tables + "<br>"); Response.Write("Supports Cookies = " + bc.Cookies + "<br>"); Response.Write("Supports VB Script = " + bc.VBScript + "<br>"); Response.Write("Supports JavaScript = " + bc.JavaScript + "<br>"); Response.Write("Supports Java Applets = " + bc.JavaApplets + "<br>"); Response.Write("Supports ActiveX Controls = " + bc.ActiveXControls + "<br>"); Response.Write("CDF = " + bc.CDF + "<br>");
To compare the version of the browser with the user agent, you have to use string operations (Contains), while in the case of Request.Browser you can compare it with the property.
Habib
source share