Обнаружение разрядности Internet Explorer на стороне сервера - PullRequest
0 голосов
/ 01 марта 2011

Я хочу доставить объект ActiveX с правильной разрядностью для запрашивающего браузера, то есть 32-разрядный объект для 32-разрядного IE и 64-разрядный объект для 64-разрядного IE. Для этой цели я ищу какой-то критерий, настолько хороший, насколько это возможно, чтобы различать две архитектуры IE.

Чтобы принять решение на стороне сервера, я должен использовать заголовок запроса User-Agent, поэтому проблема сводится к следующему: учитывая строку User-Agent, как обнаружить, с общими механизмами JSP, включая просто Java, битность экземпляра IE, который отправил запрос?

До сих пор я обнаружил, что 64-битные экземпляры содержат строки "Win64" и "x64" в заголовке, а 32-битные экземпляры - нет. Если все версии и конфигурации IE следуют этому поведению, решение в JSP так же просто, как

<% boolean _64 = request.getHeader("User-Agent").contains("Win64") %>

Мне бы очень хотелось выяснить, является ли это поведение официальной спецификацией IE, поэтому я могу рассчитывать на нее для всех версий и конфигураций IE от IE7 и до IE9. Публиковала ли Microsoft какую-либо такую ​​спецификацию?

Примечание. Я не помечаю тег "Java", поскольку ответ, скорее всего, будет актуален для других языков.

Ответы [ 2 ]

1 голос
/ 01 марта 2011

См. этот пост в блоге IE, а также это руководство на MSDN.

Подводя итог, WOW64; = 32-битный IE на 64-битной Windows.Win64; x64; = 64-битный IE на 64-битной ОС.Но обратите внимание, что другие вещи, такие как Windows NT 5.2, указывают (возможно) на 64-битную ОС.

0 голосов
/ 02 марта 2011

Оформить заказ MicroSoft MSDN URL для подробного описания. http://msdn.microsoft.com/en-us/library/ms537503%28v=vs.85%29.aspx

Также IE8 UserAgent выдает проблемы: http://blogs.msdn.com/b/ie/archive/2008/02/21/the-internet-explorer-8-user-agent-string.aspx

...