gpt4 book ai didi

windows - TWebBrowser 和 IE 版本

转载 作者:可可西里 更新时间:2023-11-01 13:55:05 27 4
gpt4 key购买 nike

当我问 this question我接受了答案,因为它很有意义,而且所指向的文档是正确的。

使用 TWebBrowser 测试一台装有 IE6 的机器与另一台装有 IE7 且具有相同编译可执行文件的机器,行为确实如回答中所指出的那样。

现在我再次对答案表示怀疑,在一台装有 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)

此外,在我 friend 的帮助下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渲染也是如此。

关于windows - TWebBrowser 和 IE 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3821648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com