求助:CHtmlView与IE内核的关系?

zhongbin104 2013-03-01 05:22:49
小弟我前段时间弄了微软的浏览器控件,之后发现微软自带的控件存在这个问题:
(测试是把XP电脑的IE从6升级到7,最后升级到8)
IE6的内核,使用CHtmlView、CHtmlDialog或者是直接拖的ActiveX控件实现,其都是基于IE6的实现。
IE7同上。
但是当升级到IE8之后,得到的结果还是CHtmlView、CHtmlDialog或者是直接拖的ActiveX控件的IE内核是IE7.

这样我就纳闷了,这个结果是怎么来的?
那又要怎么样做才能使得自己的浏览器是与本地IE内核版本同步呢??就像360浏览器、TT、世界之窗等浏览器一样,他们都是基于IE浏览器内核写的,而且都能和IE内核同步。
那他们是怎么做的呢?大家各抒己见吧!谢谢各位了!
...全文
662 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoluomutou 2013-05-21
  • 打赏
  • 举报
回复
1楼回答正确,解决问题。。主要就是在注册表里指定自己程序调用的IE内核版本 [(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "MyApplication.exe" = dword 8888 (Hex: 0x22B8) MyApplication.exe改成你自己的程序名称。
zhongbin104 2013-03-21
  • 打赏
  • 举报
回复
引用 5 楼 net110 的回复:
今天遇到了这样一个问题,页面上用了activite控件在IE下可以打开,但是用CHtmlView就打不开了,是哪里原因????
可能是未加载的问题,看看是不是CHtmlView禁止了activiteX的加载。
net110 2013-03-15
  • 打赏
  • 举报
回复
今天遇到了这样一个问题,页面上用了activite控件在IE下可以打开,但是用CHtmlView就打不开了,是哪里原因????
zhongbin104 2013-03-02
  • 打赏
  • 举报
回复
引用 2 楼 oyljerry 的回复:
带上IE对应版本的相关DLL等。不用系统的
这个办法应该不行吧。 如果我把IE一升级,那么还要重新拷贝IE里面的文件。 如果有做浏览器的来就好了。至少可以知道是什么思路了和原因了。继续坐等!我也继续研究与测试!
zhongbin104 2013-03-02
  • 打赏
  • 举报
回复
引用 1 楼 Bokutake 的回复:
你怎么知道是哪个版本的内核呢?用Javascript?还是服务器端读的UserAgentString? IE8有兼容模式,如果浏览的文档没有DOCTYPE的话,就会是兼容模式,来模仿旧的浏览器。 另外看看这个: http://blogs.msdn.com/b/ie/archive/2008/03/18/webbrowser-control-rendering-mod……
我用的是JS,网上有源码的! 我只是好奇,微软给的浏览器组件为什么会出现这样的情况?
oyljerry 2013-03-01
  • 打赏
  • 举报
回复
带上IE对应版本的相关DLL等。不用系统的
辰岡墨竹 2013-03-01
  • 打赏
  • 举报
回复
你怎么知道是哪个版本的内核呢?用Javascript?还是服务器端读的UserAgentString? IE8有兼容模式,如果浏览的文档没有DOCTYPE的话,就会是兼容模式,来模仿旧的浏览器。 另外看看这个: http://blogs.msdn.com/b/ie/archive/2008/03/18/webbrowser-control-rendering-modes-in-ie8.aspx 可以修改注册表来选择兼容模式。

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧