加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – TWebBrowser和IE版本

发布时间:2020-12-14 01:36:54 所属栏目:Windows 来源:网络整理
导读:当我问 this question时,我接受了回答,因为它有意义并且文档指出是正确的. 使用IE6测试一台机器与IE7使用相同的已编译可执行文件使用TWebBrowser进行测试,行为确实如回答中所指出的那样. 现在我再次回答问题,在IE8的机器中,服务器将相同的可执行文件识别为IE
当我问 this question时,我接受了回答,因为它有意义并且文档指出是正确的.

使用IE6测试一台机器与IE7使用相同的已编译可执行文件使用TWebBrowser进行测试,行为确实如回答中所指出的那样.

现在我再次回答问题,在IE8的机器中,服务器将相同的可执行文件识别为IE7.我写了一个简单的rails应用程序,它可以驱动用户代理,很明显.在同一台机器上,如果我在IE中访问此rails应用程序,它会打印:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6.5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 3.0.30729)

当我使用该可执行文件访问时:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; GTB6.5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 3.0.30729)

此外,在我的朋友Process Monitor的一点帮助下,我意识到实例化TWebBrowser的classid是{8856F961-340A-11D0-A96B-00C04FD705A2}在Windows注册表中有名称“Microsoft Web Browser”并指向ieframe.dll .

现在事情变得有点奇怪了.如果我去system32 / ieframe.dll并检查版本… 8.0.

我真的很困惑.问题是:当我使用TWebBrowser时,会使用ie版本吗?

谢谢.

解决方法

它使用IE8,但在IE7兼容模式下. The IE team blogged about this早在2009年3月,他们还描述了如何获得IE8渲染而不是IE7默认.

我还没有看到IE9在这里的表现如何,所以我不能说你是否需要一个不同的值来使用IE9渲染,或者是否有一些其他值只是意味着“最新”并获得IE8渲染.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读