1、 上图的程序是一个测试程序,仅包含一个 Web,这个程序的名称是 ”内嵌浏览器 .exe”。可以发现,虽然同为 Trident内核,但在 Web控件中使用的内核版本却与 IE不一样,这让我感到疑惑。因为我要登录的页面是针对 IE8以上版本开发的,因此我需要尝试让程序内的 Web以 IE8 的内核登录网页。 在网上找了一些资料后,我发现可以通过下面这个办法来解决: 1、在开始菜单内输入 “regedit.exe”,进入注册表编辑器 2、找到注册表项: HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMAINFeatureControlFEA
2、TURE_BROWSER_EMULATION 3、在右侧空白区域内单击鼠标右键,点击【新建】 【 DWORD( 32-位)值】 4、新建的项取名为 ”内嵌浏览器 .exe”,编辑值时,选择基数 “十进制 ”,填写数值数据,这里填写 8888 5、这个时候再进入 Debug目录下生成好的 ”内嵌浏览 器 .exe”,可以看到登录的内核版本变成 IE8了! 需要注意的是,之前 Web使用 IE7 内核的原因,就是 .NET 中的 Web控件默认使用了IE7 兼容性模式来浏览网页。 一一一一一一一一一分割线一一一一一一一一一 上面这个方法依靠修改注册表来完成 Web使用内核的变更,不过光知道新建一个
3、注册表项并把值设置为 “8888”还远远不够,本着 “知其然还要知其所以然 ”的想法,我查阅了 这个功能是用来定义 IE默认的仿真模式。 这个功能在注册表中的位置如下: 7000 (0x1B58) Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting the WebBrowser Control. 包含标准 !DOCTYPE指令的页面将会以 IE7兼容模式打开。 WebBrowser控件
4、的默认值 。 8000 (0x1F40) Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8 Important In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. 包含标准 !DOCTYPE指令的页面将会以 IE8兼容模式
5、打开, IE8 浏览器的默认值。对于IE10来说,包含标准 !DOCTYPE指令的页面会以 IE10 兼容模式打开。 8888 (0x22B8) Webpages are displayed in IE8 Standards mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks. 无论是否声明 !DOCTYPE 指令,页面以 IE8 兼容模式打开。对于未正确声明 !DOCTYPE指令的页面,将会以
6、 怪异模式( quirks mode)加载。 9000 (0x2328) Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9. Important In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standar
7、ds mode. IE9,包含标准 !DOCTYPE 指令的页面将会以 IE9兼容模式打开, IE9浏览器的默认值。对于 IE10来说,包含标准 !DOCTYPE指令的页面会以 IE10 兼容模式打开。 9999 (0x270F) Windows Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to loa
8、d in Quirks. IE9,无论是否声明 !DOCTYPE指令,页面以 IE9 兼容模式打开。对于未正确声明 !DOCTYPE指令的页面,将会以怪异模式( quirks mode)加载。 10000 (0x02710) Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. Default value for Internet Explorer 10. IE10,包含标准 !DOCTYPE 指令的页面将会以 IE1
9、0兼容模式打开, IE10浏览器的默认值。 10001 (0x2711) Internet Explorer 10. Webpages are displayed in IE10 Standards mode, regardless of the !DOCTYPE directive. IE10,无论是否声明 !DOCTYPE指令,页面以 IE10兼容模式打开。 11001 (0x2AF9) IE11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 edge mode. Default
10、 value for IE11. IE11,包含标准 !DOCTYPE 指令的页面将会以 IE11兼容模式打开, IE11浏览器的默认值。 11000 (0x2AF8) Internet Explorer 11. Webpages are displayed in IE11 edge mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks. IE11,无论是否声明 !DOCTYPE指令,页面将会以 IE11 的 edge模式打开。对于未正确声明 !DOCTYPE 指令的页面,将会以怪异模式( quirks mode)加载。 END