2009-11-14 5 views
1

Мне нужно определить версию Mobile Internet Explorer на устройстве Windows Mobile 6.1. Чтобы я мог сообщать о той же строке пользовательского агента, которая используется Mobile Internet Explorer. Формат строки пользовательского агента недавно был changed для включения информации о версии.Определить версию Mobile Internet Explorer

Мое приложение работает на устройстве Windows Mobile, создавая оболочку браузера, используя элемент управления WebBrowser.

API ObtainUserAgentString() API не возвращает то же значение, что использует Mobile Internet Explorer.

Когда я пытаюсь получить информацию о версии из «IExplore.exe», GetFileVersionInfoSize() возвращает 0, с GetLastError() 0x716. Скорее всего, потому, что IE Mobile - XIP.

Есть ли другой способ определить версию Mobile Internet Explorer?

+0

Что это за приложение? WebApp? –

+0

Я уточнил вопрос, чтобы быть более конкретным в отношении вида приложения. – gwell

ответ

0

IE mobile обычно использует пользовательский агент с чем-то вроде «Windows CE» или «Windows Mobile». Чтобы определить это, просто сделать простой:

myUserAgentString = request.getHeader("User-Agent") 
if (myUserAgentString.indexOf("CE") >= 0 || myUserAgentString.indexOf("MOBILE") >= 0) { 
    //this is IE 
} 

После того, как вы обнаружили, что после этого вы можете лечить то же самое, как IE, если это то, что вы хотите.

1

Я не знаю о собственных API-интерфейсах IEMobile, но как насчет ввода некоторого JScript в документ управления браузером и доступа к navigator.userAgent?

(Будьте готовы к головным болям с Windows Mobile 6.5, хотя элемент управления WebBrowser не ведет себя так же, как и сам браузер. И номер версии IEMobile на 6.5, так же, как и на 6.1.4, несмотря на то, что между ними очень разные. Вздох.)

Смежные вопросы