IWebBrowser2 object uses IE7 version, instead of the IE version installed on the machine

Bagelzone Ha'bonè picture Bagelzone Ha'bonè · Aug 2, 2011 · Viewed 7.9k times · Source

I'm developing on a Win7 machine with IE8 browser (same thing occurs also on IE9).

I've create an application with an IWebBrowser2 object embedded within a native window.
Within that browser object i execute a javascipt code:

  var txt = "Browser Name: " + navigator.appName + "\n";
  txt += "Browser Version: " + navigator.appVersion + "\n";
  alert(txt);

and i receive the following alert: enter image description here

That confirmed my earlier worries - even when having IE8\IE9 installed on my machine - the IWebBrowser2 object behaves as if it was IE7 (including all of the annoying HTML\CSS behaviors).

Does anyone know why this is? or better - if there is any possibility to embed a browser object as IE8\IE9 (for distribution - so it should be legal)

Thanks,

Answer

Heinrich Ulbricht picture Heinrich Ulbricht · Aug 2, 2011

IE7 is the default rendering mode for embedded IE controls (for compatibility reasons). Use the FEATURE_BROWSER_EMULATION registry key to change that.

Read Plip's answer over here or IEBlog to get an idea how to do this.