Determine Which Browser Your Application is Running In

This article shows how to determine the browser your application is running in.

Introduction
 
Today we will learn how to determine in which browser your application is currently running. I hope you will like it.
 
Background
 
As you all know, nowadays it is important that our application must work in all the browsers. We cannot force our clients to work with only selected browsers. It is our duty to make our application work with all the browsers. Most of the applications may encounterr some issues with browser compatibility. I encountered some issues too. To make our application work with all the browsers, you must get the browser details at run time, only then we can write the relevant code depending on the browser. Here we will do that.
 
Using the code
 
Here I am using Visual Studio 2012. What I will do is to create a default page and when the page runs, we will fetch the browser details from the server.
 
So let us start
 
Here I will share two methods to do that.
 
Method 1
 
In this method, we will use a page with the following codes. This method does not need any server-side code. 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  2.   
  3. <!DOCTYPE html>  
  4. <html xmlns="http://www.w3.org/1999/xhtml">  
  5. <head runat="server">  
  6.     <title>Check in which browser your are running your applciation - SibeesPassion</title>  
  7.     <style>  
  8.         tr {  
  9.             border: 1px solid #ccc;  
  10.             padding: 5px;  
  11.             text-align: center;  
  12.         }  
  13.     </style>  
  14. </head>  
  15. <body>  
  16.     <form id="form1" runat="server">  
  17.         <div>  
  18.             <%= Request.Browser.Browser %>  
  19.         </div>  
  20.     </form>  
  21. </body>  
  22. </html>  
We are fetching a variable Request.Browse. The browser that is generated by ASP.Net at run time, which means, when we run our application the call reaches the server and the server will generate the variable that contains the details about the browser. 
 
If you run the page in any browser you will get the output as follows.
 
 
Figure 1: Google Chrome
 
 
Figure 2: Internet Explorer
 
 
Figure 3: Firefox (Mozilla)
 
Now will go to our second method.
 
Method 2 
 
In this method we are fetching the browser details by writing some server-side code (C# and VB.Net). For this, please see the following codes.
 
C# 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. using System.Web.Configuration;  
  8. public partial class _Default : System.Web.UI.Page  
  9. {  
  10.     protected void Page_Load(object sender, EventArgs e)  
  11.     {  
  12.         HttpBrowserCapabilities myBrowser = Request.Browser;  
  13.         Response.Write("<p>Browser Capabilities:</p>");  
  14.         Response.Write("Type = " + myBrowser.Type + "<br>");  
  15.         Response.Write("Name = " + myBrowser.Browser + "<br>");  
  16.         Response.Write("Version = " + myBrowser.Version + "<br>");  
  17.         Response.Write("Major Version = " + myBrowser.MajorVersion + "<br>");  
  18.         Response.Write("Minor Version = " + myBrowser.MinorVersion + "<br>");  
  19.         Response.Write("Platform = " + myBrowser.Platform + "<br>");  
  20.         Response.Write("Is Beta = " + myBrowser.Beta + "<br>");  
  21.         Response.Write("Is Crawler = " + myBrowser.Crawler + "<br>");  
  22.         Response.Write("Is AOL = " + myBrowser.AOL + "<br>");  
  23.         Response.Write("Is Win16 = " + myBrowser.Win16 + "<br>");  
  24.         Response.Write("Is Win32 = " + myBrowser.Win32 + "<br>");  
  25.         Response.Write("Supports Frames = " + myBrowser.Frames + "<br>");  
  26.         Response.Write("Supports Tables = " + myBrowser.Tables + "<br>");  
  27.         Response.Write("Supports Cookies = " + myBrowser.Cookies + "<br>");  
  28.         Response.Write("Supports VB Script = " + myBrowser.VBScript + "<br>");  
  29.         Response.Write("Supports JavaScript = " + myBrowser.JavaScript + "<br>");  
  30.         Response.Write("Supports Java Applets = " + myBrowser.JavaApplets + "<br>");  
  31.         Response.Write("Supports ActiveX Controls = " + myBrowser.ActiveXControls + "<br>");  
  32.         Response.Write("CDF = " + myBrowser.CDF + "<br>");  
  33.     }  
  34. }  
VB.Net 
  1. Imports System.Collections.Generic  
  2. Imports System.Linq  
  3. Imports System.Web  
  4. Imports System.Web.UI  
  5. Imports System.Web.UI.WebControls  
  6. Imports System.Web.Configuration  
  7. Public Partial Class _Default  
  8.     Inherits System.Web.UI.Page  
  9.     Protected Sub Page_Load(sender As Object, e As EventArgs)  
  10.         Dim myBrowser As HttpBrowserCapabilities = Request.Browser  
  11.         Response.Write("<p>Browser Capabilities:</p>")  
  12.         Response.Write("Type = " + myBrowser.Type + "<br>")  
  13.         Response.Write("Name = " + myBrowser.Browser + "<br>")  
  14.         Response.Write("Version = " + myBrowser.Version + "<br>")  
  15.         Response.Write("Major Version = " + myBrowser.MajorVersion + "<br>")  
  16.         Response.Write("Minor Version = " + myBrowser.MinorVersion + "<br>")  
  17.         Response.Write("Platform = " + myBrowser.Platform + "<br>")  
  18.         Response.Write("Is Beta = " + myBrowser.Beta + "<br>")  
  19.         Response.Write("Is Crawler = " + myBrowser.Crawler + "<br>")  
  20.         Response.Write("Is AOL = " + myBrowser.AOL + "<br>")  
  21.         Response.Write("Is Win16 = " + myBrowser.Win16 + "<br>")  
  22.         Response.Write("Is Win32 = " + myBrowser.Win32 + "<br>")  
  23.         Response.Write("Supports Frames = " + myBrowser.Frames + "<br>")  
  24.         Response.Write("Supports Tables = " + myBrowser.Tables + "<br>")  
  25.         Response.Write("Supports Cookies = " + myBrowser.Cookies + "<br>")  
  26.         Response.Write("Supports VB Script = " + myBrowser.VBScript + "<br>")  
  27.         Response.Write("Supports JavaScript = " + myBrowser.JavaScript + "<br>")  
  28.         Response.Write("Supports Java Applets = " + myBrowser.JavaApplets + "<br>")  
  29.         Response.Write("Supports ActiveX Controls = " + myBrowser.ActiveXControls + "<br>")  
  30.         Response.Write("CDF = " + myBrowser.CDF + "<br>")  
  31.     End Sub  
  32. End Class  
What we do on the preceding code is, we are creating an object for HttpBrowserCapabilities and fetching the details from that object. Very simple. Now if you run your page, you will get the output as in the following.
 
 
Figure 4: Chrome.
 
 
Figure 5: Internet Explorer
 
 
Figure 6: Firefox (Mozilla) 
 
Conclusion

I hope you will like this article. Please share me your valuable thoughts and comments. Your feedback is always welcomed.
Thanks in advance. Happy coding!