[ASP.NET] Capturar informações do Browser – C# – ASP.NET

Publicado: 06/05/2012 em ASP.NET, C#, Cotidiano, Hardware, IIS, Internet, Programação, Sistemas Operacionais, Smartphone, Softwares, Truques & Dicas, Tutoriais / Info
Tags:, , ,

Navegadores diferentes, e diferentes versões dos mesmos navegadores, suportam recursos diferentes.Em seu aplicativo, você talvez precise determinar que tipo de navegador de um usuário está exibindo páginas, e talvez determinar se o navegador oferece suporte a alguns recursos.

Este artigo pretende mostrar como detectar o navegador do lado do cliente. Eu uso a classe HttpBrowserCapabilities usando a linguagem C #.

A classe HttpBrowserCapabilities dá informações sobre as capacidades do navegador que está sendo executado no cliente.

É preciso o namespace System.Web.

Propriedades HttpBrowserCapabilities são acessíveis através da propriedade Browser ASP.NET’s.

Eis os membros HttpBrowserCapabilities:

Properties  Meaning
 ActiveXControls Gets a value indicating whether the client browser supports ActiveX controls.
 AOL Gets a value indicating whether the client is an America Online (AOL) browser.
 BackgroundSounds Gets a value indicating whether the client browser supports background sounds.
 Beta Gets a value indicating whether the browser is a beta release.
 Browser Gets the browser string (if any) that was transmitted in the User-Agent header.
 CDF Gets a value indicating whether the client browser supports Channel Definition Format (CDF) for webcasting.
 ClrVersion [To be supplied.]
 Cookies Gets a value indicating whether the client browser supports cookies.
 Crawler Gets a value indicating whether the client browser is a Web crawler search engine.
 EcmaScriptVersion Gets the version number of ECMA script that the client browser supports.
 Frames Gets a value indicating whether the client browser supports HTML frames.
 Item (inherited fromHttpCapabilitiesBase) Allows access to individual dictionary values.In C#, this property is the indexer for the HttpBrowserCapabilities class.
 JavaApplets Gets a value indicating whether the client browser supports Java applets.
 JavaScript Gets a value indicating whether the client browser supports JavaScript.
 MajorVersion Gets the major (that is, integer) version number of the client browser.
 MinorVersion Gets the minor (that is, decimal) version number of the client browser.
 MSDomVersion Gets the version of Microsoft XML Document Object Model (DOM) that the client browser supports.
 Platform Gets the name of the platform that the client uses.
 Tables Gets a value indicating whether the client browser supports HTML tables.
 Type Gets the name and major (that is, integer) version number of the client browser.
 VBScript Gets a value indicating whether the client browser supports VBScript.
 Version Gets the full (integer and decimal) version number of the client browser.
 W3CDomVersion Gets the version of the World Wide Web Consortium (W3C) XML Document Object Model (DOM) that the client browser supports.
 Win16 Gets a value indicating whether the client is a Win16-based machine.
 Win32 Gets a value indicating whether the client is a Win32-based machine.

Para maiores informações sobre a classe HttpBrowserCapabilities , veja aqui

Eis uma forma de detectar alguns dados usando ASP.NET e C# :

<%@ Page Language="C#" %>
<html>

 <head>
 <title>Browser Information</title>
 </head>

 <body>

 <p><font face="Arial" size="3"><b>Browser Information</b></font></p>
 <hr align="left" width="30%" color="#04ACB5">
 <div align="left">
  <table border="0" width="44%">
    <tr>
      <td width="34%"><font face="Verdana" size="2">Browser Type</font></td>
      <td width="4%"><font face="Verdana" size="2">:</font></td>
      <td width="66%"><font face="Verdana" size="2"><%= Request.Browser.Browser %></font></td>
    </tr>
    <tr>
      <td width="34%"><font face="Verdana" size="2">Version</font></td>
      <td width="4%"><font face="Verdana" size="2">:</font></td>
      <td width="66%"><font face="Verdana" size="2"><%= Request.Browser.Version %></font></td>
    </tr>
    <tr>
      <td width="34%"><font face="Verdana" size="2">ActiveX Control</font></td>
      <td width="4%"><font face="Verdana" size="2">:</font></td>
      <td width="66%"><font face="Verdana" size="2"><%= Request.Browser.ActiveXControls %></font></td>
    </tr>
    <tr>
      <td width="34%"><font face="Verdana" size="2">Java Script</font></td>
      <td width="4%"><font face="Verdana" size="2">:</font></td>
      <td width="66%"><font face="Verdana" size="2"><%= Request.Browser.JavaScript %></font></td>
    </tr>
    <tr>
      <td width="34%"><font face="Verdana" size="2">Java Applet</font></td>
      <td width="4%"><font face="Verdana" size="2">:</font></td>
      <td width="66%"><font face="Verdana" size="2"><%= Request.Browser.JavaApplets %></font></td>
    </tr>
    <tr>
      <td width="34%"><font face="Verdana" size="2">VB Script</font></td>
      <td width="4%"><font face="Verdana" size="2">:</font></td>
      <td width="66%"><font face="Verdana" size="2"><%= Request.Browser.VBScript %></font></td>
    </tr>
  </table>
 </div>
 <hr align="left" width="30%" color="#04ACB5">
 <p><font face="Times New Roman" size="2" color="#000000">Copyright © 2001 <a href="mailto:rodrigoesilva@gmail.com"> Rodrigo E Silva</a></font></p>

 </body>

 </html>

 

Ou ainda do lado server:

 

private void Button1_Click(object sender, System.EventArgs e)
{
    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";
    TextBox1.Text = s;
}

Você pode verificar qual o Navegador do cliente e tomar uma decisão como usar um recurso ou emitir uma mensagem. No código abaixo estou verificando se o Navegador do cliente é o Internet Explorer:

if(Request.Browser.Browser.Equals("IE") && Request.Browser.MajorVersion >= 5) Response.Write("Seu Navegador esta atualizado ");if(Request.Browser.Browser.Equals("Netscape") && Request.Browser.MajorVersion >= 6) Response.Write("Você esta usando a versão 6 do Netscape.");

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s