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
emabout: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
BCD tables only load in the browser