Como determinar a versão de browser de um script

Traduções de Artigos Traduções de Artigos
Artigo: 167820 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Com novas funcionalidades que fornece o Internet Explorer 4.0, poderá ser desejável scripts do lado do cliente e do lado do servidor para determinar a versão do browser, para que uma aplicação Web possa tirar partido das novas funcionalidades, ou diminuir correctamente, dependendo da versão do browser actualmente em execução.

importante : os métodos que são utilizados neste artigo dependem o Web site receber a cadeia "HTTP_USER_AGENT" correcta para browsers que liga ao site. Alguns servidores proxy e browsers, podem enviar informações incorrectas ou difícil de interpretar. Por exemplo, a predefinição HTTP_USER_AGENT cadeia que opera 5.12 devolve é "Mozilla/4.0 (compatível; MSIE 5.0; < sistema operativo >) opera 5.12 [en]". Esta cadeia é difícil de interpretar uma vez que a primeira parte da cadeia é o mesmo como a cadeia que devolve o Internet Explorer 5.

Se necessitar de identificar de forma exclusiva o Internet Explorer versão 5 ou posterior (Microsoft Win32 e UNIX apenas em plataformas), utilize os métodos isComponentInstalled ou getComponentVersion do comportamento CLIENTCAPS. Para obter informações sobre estes métodos, consulte os seguintes Web sites da Microsoft:
http://msdn2.microsoft.com/en-us/library/ms531357.aspx

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

Mais Informação

A partir de um script do cliente de lado

A função de JScript abaixo pode ser utilizada para determinar a versão do browser estiver a utilizar a partir de um script do lado do cliente. A função compatível com a grande maioria dos browsers actualmente disponíveis e devolve o número de versão principal de qualquer browser Microsoft Internet Explorer e zero (0) para outros utilizadores. Utilizar esta função garante que o script será compatível com futuras versões 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 devem utilizar sempre o > = operador em vez do operador = para assegurar a compatibilidade com versões futuras. Scripts existentes especificamente verificar userAgent igual a "MSIE 3", por exemplo, devem ser alteradas para utilizar o > operador = para que os scripts bem reconhecem o Internet Explorer 4.0.

O exemplo seguinte demonstra como detectar a versão do browser a partir de um script do lado do cliente. Note que neste exemplo especificamente não verifica a existência versão de plataforma, tal como o Windows 95, Windows NT, Windows 3.1 e por aí em diante, que requerem uma verificação de subcadeia userAgent separada 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>
				

A partir de um script do servidor de lado

Nota : O método Request.ServerVariables("HTTP_USER_AGENT") pode ser utilizado em vez do objecto BrowserType no script do lado do servidor. Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
272413Como determinar o tipo de browser em scripts de lado do servidor sem o objecto BrowserType
O componente Browser Capability que vem com o ASP (Active Server Pages) fornece aos scripts uma descrição das capacidades do browser do cliente comparando o cabeçalho de HTTP User-Agent com as entradas no ficheiro BROWSCAP.INI. De forma a uma aplicação ASP detectar suporte o browser para novas funcionalidades do Internet Explorer 4.0, copie BROWSCAP.INI mais recente do site Cyscape Web seguinte:
http://www.cyscape.com/asp/browscap/
Copie-o para o directório %windows%\system32\inetsrv\asp\cmpnts e executar um script do lado servidor semelhante ao exemplo abaixo.

Neste exemplo especificamente tira partido das novas funcionalidades de HTML dinâmico se o browser actual 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 do Active Directory (Pages) plano de servidor

Propriedades

Artigo: 167820 - Última revisão: 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 128-Bit Edition
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 167820
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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