Определить версию Mobile Internet Explorer - PullRequest
1 голос
/ 14 ноября 2009

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 14 ноября 2009

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

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

0 голосов
/ 14 ноября 2009

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

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

Как только вы обнаружите это, вы можете обращаться с ним так же, как с IE, если вы этого хотите.

...