A propriedade read-only (apenas leitura) NavigatorID.userAgent retorna a string do agente do usuário (user agent) para o browser atual.

 A especifícação demanda que os navegadores forneçam, nessa propriedade, a menor quantidade de informações posssível. Nunca assuma que o valor dessa propriedade permanecerá o mesmo em verções futuras de um mesmo navegador. Tente não utiliza-la, ou ultileze-a somente para verções presentes ou passadas de um navegador. Novos navegadores podem utilizar-se do mesmo agente do usuário, ou parte dele, que navegadores mais aintigos: não existe qualquer garantia de que o agente do navegador é de fato o enunciado por essa propriedade.

Além disso, tenha em mente que os usuários do navegador podem manipular o valor dessa propriedade caso queiram (UA spoofing).

A idenficação de browsers baseada na detecção de sua string de agente de usuário não é confiável e não é recomendável, pois a string de agente de usuário pode ser configurada pelo usuário. Por exemplo:

  • No Firefox, você pode alterar a preferência general.useragent.override em about:config. Algumas extenções do Firefox fazem isso. No entanto, isso altera somente o header HTTP que é enviado ao servidor, não afetando a detecção de browser efetuada por código JavaScript.
  • O Opera 6+ permite aos usuários configurar a string de identificação do browser através de um menu.
  • O Microsoft Internet Explorer faz uso de registros do Windows.
  • O Safari e o iCab permitem aos usuários alterar, através de um menu, a string de agente do usuário para os valores predefinidos do Internet Explorer ou Netscape.

Sintaxe

var au = window.navigator.userAgent;

Valor

au guarda o valor da string de agente de usuário do browser atual.

A string de agente de usuário é contruida em uma estrutura formal que pode ser decomposta em diferentes informações. Cada uma dessas informações é provinda de outras propriedades de window.navigator, que também podem ser configuradas pelo usuário. Navegadores baseados na engine Gecko seguem a seguinte estrutura:

ageteDeUsuário = códigoDoNomeDoAplicativo/versãoDoAplicativo número (Plataforma; Segurança; OS-ou-CPU; 
Localização; rv: número-da-verção-de-revisão) produto/produtoSub 
Nome-do-Aplicativo versão-do-Nome-do-Aplicativo

Examplo

alert(window.navigator.userAgent)
// alerta "Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape6/6.1"

Especificações

Especificação Status Comentário
HTML Living Standard
The definition of 'NavigatorID.userAgent' in that specification.
Padrão em tempo real Definição inicial.

Compatibilidade

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: GarkGarcia, thedjmarcelo
Última atualização por: GarkGarcia,