Por que meu HTTP_USER_AGENT nem sempre é o mesmo?
-
20-09-2019 - |
Pergunta
Quando imprimo meu Env {'http_user_agent'} no início de cada uma das minhas páginas Perl, às vezes diz que estou usando o IE7 e outras vezes diz que estou usando o IE8. Alguma ideia do porquê?
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322;
InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648;
.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322;
InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648;
.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Minha versão do IE é na verdade 8.
Solução
O IE 8 fingirá ser o IE 7 por razões de compatibilidade com versões anteriores - isso é chamado de visualização de compatibilidade.
Mais Informações: http://msdn.microsoft.com/en-us/library/dd567845%28vs.85%29.aspx
A visualização de compatibilidade (e, portanto, uma string de agente de usuário do IE 7) está ativada apenas para sites específicos. Para visualizar a lista, visite
res: //iecompat.dll/iecompatdata.xml
Usando seu navegador do IE.
Outras dicas
O IE8 possui um modo de compatibilidade do IE7 que permite que ele funcione exatamente como e se identifique como IE7. É assim que o IE8 mantém a compatibilidade com versões anteriores com sites projetados para usar as peculiaridades do IE7 e versões anteriores do Internet Explorer.
Você está usando o modo de compatibilidade do IE8, que faz seu navegador se comportar como o IE7 e se apresentar como tal?