WebBrowser 控件提升IE版本

WebBrowser 控件的内核为IE 而默认为IE7

很多的网站不支持IE7(因为多数都有使用jq或者相关类库,还有就是能直接支持json,当然可以通过使用json2.js使其支持)

扯远了,怎么能使WebBrowser 正常打开网页 一下有两种方式

1.由前端同事配合(即自己家的网站),也就是让网站本身可以兼容IE7(如果你家前端不嫌弃的话)  这个涉及到前端知识 我这里并不多赘述 PS:前端是绝对可以使网站兼容IE7的  如果对方说不可能  那你可以怀疑一下他的水平(最好不要这样 避免关系闹僵  手动狗头)

2.则是通过 修改系统注册表 实现,这个方法也很简单 

在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 中新建一个项值  名称为 你的程序名称.exe 值的类型为 REG_DWORD 实际值可取一下  十进制(16进制)

10000(0×2710) IE10

9999 (0x270F) IE9 忽略html5

9000 (0×2328) IE9

8888 (0x22B8) IE8 忽略html5

8000 (0x1F40) IE8

7000 (0x1B58) IE7

例如将 WebBrowser  改为IE9(代码为VB6.0)

Dim objshell As Object

 Set objshell = CreateObject("wscript.shell")

 Call objshell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\MAIN\FeatureControl\FEATURE_BROWSER_E

MULATON\" & App.EXEName & ".exe", "9000", "REG_DWORD")

Set objshell = Nothing

这种方式可以理解为 告诉windows 我程序中 打开的ie浏览器使用的版本应该为IE9 

注意:此方式只能生成exe后有效(VB6.0中调试的名称并不等于生成的,其他环境语言未测试 如有大神路过还望不吝赐教)



有人说有64和32的区别  以64位机器为例,因为32位程序在64位机器上访问注册表时会自动被转到32位地址,而不是真正的地址,所以使用这个就可以

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容