2009-11-14 9 views
1

J'ai besoin de déterminer la version de Mobile Internet Explorer sur un périphérique Windows Mobile 6.1. Pour que je puisse signaler la même chaîne user-agent que celle utilisée par Mobile Internet Explorer. Le format de chaîne user-agent a été récemment changed pour inclure les informations de version.Déterminer Mobile Internet Explorer version

Mon application s'exécute sur le périphérique Windows Mobile en créant un shell de navigateur à l'aide du contrôle WebBrowser.

L'API ObtainUserAgentString() ne renvoie pas la même valeur que celle utilisée par Mobile Internet Explorer. Lorsque j'essaie d'obtenir les informations de version de "IExplore.exe", GetFileVersionInfoSize() renvoie 0, avec GetLastError() de 0x716. Très probablement parce que IE Mobile est XIP.

Existe-t-il une autre façon de déterminer la version de Mobile Internet Explorer?

+0

Quel genre d'application est-ce? WebApp? –

+0

J'ai mis à jour la question pour être plus précis sur le type d'application. – gwell

Répondre

0

IE mobile utilise généralement un user-agent avec quelque chose comme "Windows CE" ou "Windows Mobile". Pour déterminer cela, faire un simple:

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

Une fois que vous constatez que vous pouvez traiter la même chose que IE, si c'est ce que vous voulez.

1

Je ne connais pas les propres API d'IEMobile, mais comment injecter du code JScript dans le document du contrôle du navigateur et accéder à navigator.userAgent? (Préparez-vous pour les maux de tête avec Windows Mobile 6.5.) Le contrôle WebBrowser ne se comporte pas de la même manière que le navigateur lui-même et le numéro de version de IEMobile est le même sur 6.5 que sur 6.1.4, malgré le rendu entre les deux étant très différent soupir.)