Como determinar a versão do navegador através de um script

Traduções deste artigo Traduções deste artigo
ID do artigo: 167820 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Com novos recursos que fornece do Internet Explorer 4.0, talvez seja desejável para scripts do cliente e do lado do servidor determinar a versão do navegador, para que um aplicativo da Web possa tirar proveito da nova funcionalidade ou prejudicar normalmente, dependendo da versão do navegador executando no momento.

importante : os métodos são usados neste artigo contam com o site receber a seqüência "HTTP_USER_AGENT" correta para navegadores que se conectar ao site. Alguns servidores proxy e navegadores podem enviar informações que é incorreta ou difícil de interpretar. Por exemplo, a seqüência HTTP_USER_AGENT padrão opera 5.12 retorna é "Mozilla/4.0 (compatível; MSIE 5.0; < sistema >) opera 5.12 [en]". Essa seqüência de caracteres é difícil interpretar porque a primeira parte da seqüência de caracteres é o mesmo que a seqüência que retorna do Internet Explorer 5.

Se você precisar identificar exclusivamente o Internet Explorer versão 5 ou posterior (em plataformas Microsoft Win32 e UNIX somente), use os métodos isComponentInstalled ou getComponentVersion do comportamento CLIENTCAPS. Para obter informações sobre esses métodos, consulte os seguintes sites:
http://msdn2.microsoft.com/en-us/library/ms531357.aspx

http://msdn2.microsoft.com/en-us/library/ms531350.aspx
Observação : esses métodos falhará se o cliente não for Internet Explorer 5 ou posteriores (plataformas Microsoft Win32 e UNIX somente).

Mais Informações

De um script do lado do cliente

A função JScript abaixo pode ser usada para determinar a versão do navegador que ele está em execução de um script de cliente. A função é executado na grande maioria dos navegadores disponíveis no momento e retorna o número da versão principais para qualquer navegador Microsoft Internet Explorer e zero (0) para que outras pessoas. Uso dessa função garante que o script será compatível com versões futuras do Internet Explorer.
   // This function returns Internet Explorer's major version number,
   // or 0 for others. It works by finding the "MSIE " string and
   // extracting the version number following the space, up to the decimal
   // point, ignoring the minor version number
   <SCRIPT LANGUAGE="JavaSCRIPT">
   function msieversion()
   {
      var ua = window.navigator.userAgent
      var msie = ua.indexOf ( "MSIE " )

      if ( msie > 0 )      // If Internet Explorer, return version number
         return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
      else                 // If another browser, return 0
         return 0

   }
   </SCRIPT>
				
ao verificar números de versão, scripts sempre devem usar o > = operador, em vez do operador = para garantir a compatibilidade com versões futuras. Scripts existentes especificamente procurar userAgent igual a "MSIE 3", por exemplo, devem ser alteradas para usar o > = operador para que os scripts reconhecem o Internet Explorer 4.0 também.

O exemplo a seguir demonstra como detectar a versão de navegador de um script de cliente. Observe que este exemplo faz check não especificamente para versão de plataforma, como Windows 95, Windows NT, Windows 3.1 e assim por diante, que requerem uma verificação de subseqüência userAgent separado quando aplicável:
<SCRIPT LANGUAGE="javascript">
   if ( msieversion() >= 4 )

      document.write ( "This is Internet Explorer 4 or later" );

   else if ( msieversion() >= 3 )

      document.write ( "This is Internet Explorer 3" );

   else

      document.write ( "This is another browser" );

   </SCRIPT>
				

De um script do lado do servidor

Observação : O método Request.ServerVariables("HTTP_USER_AGENT") pode ser usado no lugar do objeto BrowserType no script do lado do servidor. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
272413Como determinar o tipo de navegador no script do lado do servidor sem o objeto BrowserType
O componente de recursos de navegador que vem com Active Server Pages (ASP) fornece seus scripts com uma descrição dos recursos do navegador do cliente, comparando o cabeçalho HTTP User-Agent com as entradas no arquivo BROWSCAP.INI. Em ordem para um aplicativo ASP detectar suporte do navegador para os novos recursos de Internet Explorer 4.0, copie BROWSCAP.INI mais recente do seguinte site da Cyscape:
http://www.cyscape.com/asp/browscap/
Copiá-lo ao seu diretório %windows%\system32\inetsrv\asp\cmpnts e executar um script de servidor semelhante ao exemplo abaixo.

Este exemplo especificamente tira proveito das novas funcionalidades de HTML dinâmico se o navegador atual for Internet Explorer 4.0 ou posterior:
<HTML>
<BODY>

   <%  Set bc = Server.CreateObject("MSWC.BrowserType") %>
   <table border=0 cellspacing="0" cellpadding="5">

      <tr>

         <% If bc.browser = "IE" and bc.version >= 4 Then %>
         <td><a href="chocolate.htm" TARGET="_TEXT"
              onmouseover="this.style.color='red'"
              onmouseout="this.style.color='purple'">chocolate</a>
         </td>

         <% Else %>
            <td><a href="chocolate.htm" TARGET="_TEXT">chocolate</a></td>
         <% End If %>

         <td>|</td>

         <% If bc.browser = "IE" and bc.version >= 4 Then %>
         <td><a href="vanilla.htm" TARGET="_TEXT"
              onmouseover="this.style.color='red'"
              onmouseout="this.style.color='purple'">vanilla</a>
         </td>

         <% Else %>
            <td><a href="vanilla.htm" TARGET="_TEXT">vanilla</a></td>
         <% End If %>

      </tr>

   </table>

</BODY>
</HTML>
				

Referências

Referência de componentes no guia de Pages (ASP) Active Server

Propriedades

ID do artigo: 167820 - Última revisão: quinta-feira, 9 de agosto de 2007 - Revisão: 1.4
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer 3.0
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 Edição de 128 Bits
Palavras-chave: 
kbmt kbfaq kbhowto kbscript KB167820 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 167820
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com