Почему IE 8 navigator.userAgent возвращает MSIE 7.0? - PullRequest
5 голосов
/ 15 октября 2011

Я пытаюсь реализовать функцию поддержки браузера на моей веб-странице.Для Firefox 3.6 он работает нормально, но по какой-то причине userAgent в IE 8 возвращает неправильное значение.

Вот сценарий, когда я запускаю «локальный» код JavaScript в IE8, navigator.userAgent возвращает правильную информацию(MSIE 8.0).Но когда я запускаю этот скрипт на сервере, он возвращает MSIE 7.0 в браузере IE 8.

Есть идеи?

Ответы [ 3 ]

6 голосов
/ 05 декабря 2012

Вам также необходимо проверить токен Trident.

Жетон трезубца

Когда инструменты разработчика F12 используются для изменения режима браузера Internet Explorer, маркер версии строки user-agent изменяется так, чтобы он отображался в более ранней версии браузера. Это делается для того, чтобы обеспечить доступ к конкретному контенту браузера в Internet Explorer, и обычно это необходимо только в том случае, если веб-сайты не были обновлены в соответствии с текущими версиями браузера.

Когда это происходит, токен Trident добавляется в строку user-agent. Этот токен содержит номер версии, который позволяет идентифицировать версию браузера независимо от текущего режима браузера.

БОЛЬШЕ: http://msdn.microsoft.com/en-us/library/ms537503.aspx

4 голосов
/ 15 октября 2011

Вы уверены, что не работаете в режиме IE7?Вы можете изменить это где-нибудь в настройках разработчика (F12, я думаю).

2 голосов
/ 15 октября 2011

Microsoft предоставляет эту страницу:

http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx

В соответствии с примером Javascript можно подумать, что IE8 вернет 8, а не 7.

...