Почему мой HTTP_USER_AGENT не всегда одинаков? - PullRequest
5 голосов
/ 16 февраля 2010

Когда я печатаю свой ENV {'HTTP_USER_AGENT'} в начале каждой из моих страниц Perl, иногда он говорит, что я использую IE7, а в других случаях он говорит, что я использую IE8. Есть идеи почему?

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)

Моя версия IE на самом деле 8.

Ответы [ 3 ]

9 голосов
/ 16 февраля 2010

IE 8 будет претендовать на IE 7 по причинам обратной совместимости - это называется представлением совместимости.

Дополнительная информация: http://msdn.microsoft.com/en-us/library/dd567845%28VS.85%29.aspx

Представление совместимости (и, следовательно, строка пользовательского агента IE 7) включено только для определенных веб-сайтов. Чтобы просмотреть список, посетите

разрешение: //iecompat.dll/iecompatdata.xml

Использование браузера IE.

4 голосов
/ 16 февраля 2010

IE8 имеет режим совместимости IE7, который позволяет ему работать так же, как и идентифицировать себя как IE7. Таким образом, IE8 поддерживает обратную совместимость с веб-сайтами, разработанными для использования особенностей IE7 и предыдущих версий Internet Explorer.

Как заставить IE8 эмулировать IE7

1 голос
/ 16 февраля 2010

Используете ли вы режим совместимости IE8, который заставляет ваш браузер вести себя как IE7 и представлять себя в этом качестве?

...