Click here to Skip to main content
15,881,139 members
Articles / All Topics

Determine Which Browser Your Application is Running In

Rate me:
Please Sign up or sign in to vote.
3.86/5 (5 votes)
17 Jun 2015CPOL2 min read 10.9K   4   11
In this post, we will learn how to determine in which browser your application is currently running.

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 encounter 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 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 code:

ASP.NET
<%@ Page Language="C#" AutoEventWireup="true" 
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Check in which browser your are running your application – SibeesPassion</title>
    <style>
        tr {
            border: 1px solid #ccc;
            padding: 5px;
            text-align: center;
        }
    </style>
</head>
<body>
    <form id="form1″ runat="server">
        <div>
            <%= Request.Browser.Browser %>
        </div>
    </form>
</body>
</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:

Image 1

Figure 1: Google Chrome

Image 2

Figure 2: Internet Explorer

Image 3

Figure 3: Firefox (Mozilla)

Now, we will go to our second method.

Method 2

In this method, we are fetching few more browser details. For this, please see the following code.

C#

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpBrowserCapabilities myBrowser = Request.Browser;
        Response.Write("<p>Browser Capabilities:</p>");
        Response.Write("Type = " + myBrowser.Type + "<br>");
        Response.Write("Name = " + myBrowser.Browser + "<br>");
        Response.Write("Version = " + myBrowser.Version + "<br>");
        Response.Write("Major Version = " + 
        myBrowser.MajorVersion + "<br>");
        Response.Write("Minor Version = " + 
        myBrowser.MinorVersion + "<br>");
        Response.Write("Platform = " + myBrowser.Platform + "<br>");
        Response.Write("Is Beta = " + myBrowser.Beta + "<br>");
        Response.Write("Is Crawler = " + myBrowser.Crawler + "<br>");
        Response.Write("Is AOL = " + myBrowser.AOL + "<br>");
        Response.Write("Is Win16 = " + myBrowser.Win16 + "<br>");
        Response.Write("Is Win32 = " + myBrowser.Win32 + "<br>");
        Response.Write("Supports Frames = " + 
        myBrowser.Frames + "<br>");
        Response.Write("Supports Tables = " + 
        myBrowser.Tables + "<br>");
        Response.Write("Supports Cookies = " + 
        myBrowser.Cookies + "<br>");
        Response.Write("Supports VB Script = " + 
        myBrowser.VBScript + "<br>");
        Response.Write("Supports JavaScript = " + 
        myBrowser.JavaScript + "<br>");
        Response.Write("Supports Java Applets = " + 
        myBrowser.JavaApplets + "<br>");
        Response.Write("Supports ActiveX Controls = " + 
        myBrowser.ActiveXControls + "<br>");
        Response.Write("CDF = " + myBrowser.CDF + "<br>");
    }
}

VB.NET

VB.NET
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.Configuration
Public Partial Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(sender As Object, e As EventArgs)
        Dim myBrowser As HttpBrowserCapabilities = Request.Browser
        Response.Write("<p>Browser Capabilities:</p>")
        Response.Write("Type = " + myBrowser.Type + "<br>")
        Response.Write("Name = " + myBrowser.Browser + "<br>")
        Response.Write("Version = " + myBrowser.Version + "<br>")
        Response.Write("Major Version = " + 
        myBrowser.MajorVersion + "<br>")
        Response.Write("Minor Version = " + 
        myBrowser.MinorVersion + "<br>")
        Response.Write("Platform = " + myBrowser.Platform + "<br>")
        Response.Write("Is Beta = " + myBrowser.Beta + "<br>")
        Response.Write("Is Crawler = " + myBrowser.Crawler + "<br>")
        Response.Write("Is AOL = " + myBrowser.AOL + "<br>")
        Response.Write("Is Win16 = " + myBrowser.Win16 + "<br>")
        Response.Write("Is Win32 = " + myBrowser.Win32 + "<br>")
        Response.Write("Supports Frames = " + myBrowser.Frames + "<br>")
        Response.Write("Supports Tables = " + myBrowser.Tables + "<br>")
        Response.Write("Supports Cookies = " + myBrowser.Cookies + "<br>")
        Response.Write("Supports VB Script = " + 
        myBrowser.VBScript + "<br>")
        Response.Write("Supports JavaScript = " + 
        myBrowser.JavaScript + "<br>")
        Response.Write("Supports Java Applets = " + 
        myBrowser.JavaApplets + "<br>")
        Response.Write("Supports ActiveX Controls = " + 
        myBrowser.ActiveXControls + "<br>")
        Response.Write("CDF = " + myBrowser.CDF + "<br>")
    End Sub
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 follows:

Image 4

Figure 4: Chrome.

Image 5

Figure 5: Internet Explorer

Image 6

Figure 6: Firefox (Mozilla)

Conclusion

I hope you will like this post. Please share your valuable thoughts and comments. Your feedback is always welcome.

Thanks in advance. Happy coding!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Germany Germany
I am Sibeesh Venu, an engineer by profession and writer by passion. I’m neither an expert nor a guru. I have been awarded Microsoft MVP 3 times, C# Corner MVP 5 times, DZone MVB. I always love to learn new technologies, and I strongly believe that the one who stops learning is old.

My Blog: Sibeesh Passion
My Website: Sibeesh Venu

Comments and Discussions

 
Questionquestion Pin
Member 1177406317-Jun-15 16:08
Member 1177406317-Jun-15 16:08 
AnswerRe: question Pin
Sibeesh Passion17-Jun-15 18:40
professionalSibeesh Passion17-Jun-15 18:40 
Thank you Smile | :)
==================!!!====================!!!========================
So much complexity in software comes from trying to make one thing do two things.
Kindest Regards
Sibeesh
http://sibeeshpassion.com/

Questionask to admint Pin
Member 1177406317-Jun-15 16:07
Member 1177406317-Jun-15 16:07 
AnswerA few things to consider... Pin
Afzaal Ahmad Zeeshan17-Jun-15 11:54
professionalAfzaal Ahmad Zeeshan17-Jun-15 11:54 
GeneralRe: A few things to consider... Pin
Dewey17-Jun-15 16:02
Dewey17-Jun-15 16:02 
GeneralRe: A few things to consider... Pin
Sibeesh Passion17-Jun-15 18:40
professionalSibeesh Passion17-Jun-15 18:40 
GeneralRe: A few things to consider... Pin
Sibeesh Passion17-Jun-15 18:40
professionalSibeesh Passion17-Jun-15 18:40 
AnswerRe: A few things to consider... Pin
Afzaal Ahmad Zeeshan17-Jun-15 22:29
professionalAfzaal Ahmad Zeeshan17-Jun-15 22:29 
GeneralRe: A few things to consider... Pin
Sibeesh Passion17-Jun-15 22:43
professionalSibeesh Passion17-Jun-15 22:43 
GeneralRe: A few things to consider... Pin
Afzaal Ahmad Zeeshan17-Jun-15 22:50
professionalAfzaal Ahmad Zeeshan17-Jun-15 22:50 
GeneralRe: A few things to consider... Pin
Sibeesh Passion17-Jun-15 23:34
professionalSibeesh Passion17-Jun-15 23:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.