开发者

Determine Mobile Internet Explorer version

I need to determine the version of Mobile Internet Explorer on a Windows Mobile 6.1 device. So that I can report the same user-agent string as is being used by Mobile Internet Explorer. The user-agent string format has recently been changed to include version information.

My application is running on the Windows Mobile device creating a browser shell using the WebBrowser control.

The ObtainUserAgentString() API is not returning the same value as开发者_如何学C Mobile Internet Explorer is using.

When I try to get the version information from "IExplore.exe", GetFileVersionInfoSize() is returning 0, with a GetLastError() of 0x716. Most likely because IE Mobile is XIP.

Is there another way to determine the Mobile Internet Explorer version?


I don't know about IEMobile's own APIs, but how about injecting some JScript into the browser control's Document and accessing navigator.userAgent?

(Be prepared for headaches with Windows Mobile 6.5 though. The WebBrowser control doesn't behave in the same way as the browser itself. And the version number of IEMobile is the same on 6.5 as it is on 6.1.4, despite the rendering between the two being very different. Sigh.)


IE mobile generally uses a user-agent with something like "Windows CE" or "Windows Mobile". To determine this, just do a simple:

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

Once you detect that then you can treat that the same as IE, if that's what you want.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜