WebBrowser引用IE版本问题,更改使用高版本IE
2018-02-28 16:48
351 查看
做了一个Winform的项目。项目里使用了WebBrowser控件。以前一直都以为WebBrowser是直接调用的系统自带的IE,IE是呈现出什么样的页面WebBrowser就呈现出什么样的页面。其实并非如此。我的Winform程序加载了一个Web项目。这个项目对IE8一下的浏览器布局兼容不是太好。本机使用的是IE8,项目是.net4.0。用本机浏览器查看Web项目没有任何问题。可是调用Winform里的WebBrowser浏览Web项目页面却出现了布局问题。所以我就开始质疑到底WebBrowser是不是IE8的模式啊。于是打开IETester,从IE9一直到IE5都查看了一遍,发现最像WebBrowser布局呈现的是IE7模式下。在搜了一些相关资料原来WebBrowser使用的是IE的兼容模式进行浏览(IE7模式)。
如何让WebBrowser引用IE 8 呢。可以通过注册表的新增键值实现
打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
在其中新增一个DWORD值。键值名称写入你的程序名,然后在数值数据填入1f40。也就是IE8
填写完毕后。到程序目录下打开就可以看到WebBrowser已经引用IE8模式了,这里要主意的是不要在VS打开。
下面是32位 64位系统需要修改的注册表地址 以及IE各版本的值
32 bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Value Key: yourapplication.exe
64 bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Value Key: yourapplication.exe
The value to set this key to is (taken from MSDN here) as decimal values:
9999 (0x270F)
Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
9000 (0x2328)
Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
8888 (0x22B8)
Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
8000 (0x1F40)
Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
7000 (0x1B58)
Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
如何让WebBrowser引用IE 8 呢。可以通过注册表的新增键值实现
打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
在其中新增一个DWORD值。键值名称写入你的程序名,然后在数值数据填入1f40。也就是IE8
填写完毕后。到程序目录下打开就可以看到WebBrowser已经引用IE8模式了,这里要主意的是不要在VS打开。
下面是32位 64位系统需要修改的注册表地址 以及IE各版本的值
32 bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Value Key: yourapplication.exe
64 bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Value Key: yourapplication.exe
The value to set this key to is (taken from MSDN here) as decimal values:
9999 (0x270F)
Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
9000 (0x2328)
Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
8888 (0x22B8)
Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
8000 (0x1F40)
Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
7000 (0x1B58)
Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
相关文章推荐
- Winform WebBrowser引用IE版本问题
- [转]使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
- 解决x64机器上IE11版本使用IEDriverServer在输入英文/数字很慢的问题
- 使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
- c#使用webbrowser时,设定IE版本
- 使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?
- 江左盟[Winform]winform使用WebBrowser知道IE的版本浏览页面
- sharepoint 2013 文档库 使用资源管理器打开是灰色的,浏览器版本是IE 9在IE 11可正常打开,或提示在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试
- 使用系统的某些block api(如UIView的block版本写动画时),是否也考虑循环引用问题?
- 【转载】IE中Iframe跨站引用时,框架内程序不能使用cookies问题解决
- Winform WebBrowser引用IE版本问题
- socket.io在低版本IE使用注意问题
- ie兼容问题,强制使用ie浏览器使用最高版本内核
- 使用Google Chrome Frame(谷歌浏览器内嵌框架)解决低版本IE不兼容问题
- 如何解决在ie下,Echarts多次使用setOption更改数据时,数据错乱问题
- Winform 下使用WebBrowser的HTML编辑控件—WinHtmlControl 在win7 IE9下的问题
- 使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?
- .net 设置webbrowser控件使用的IE版本
- 如何解决在ie下,Echarts多次使用setOption更改数据时,数据错乱问题
- c# webbrowser使用ie内核版本的问题