【问题标题】:TWebBrowser doesn't display some pages correcty [duplicate]TWebBrowser 无法正确显示某些页面 [重复]
【发布时间】:2016-11-24 13:15:57
【问题描述】:

我的问题是在 TWebBrowser (Delphi XE7) 中有一些页面在 Internet Explorer 11 显示正常时无法正确显示。有问题的页面示例是https://www.whatismybrowser.com/

我认为 TWebBrowser 是 Internet Explorer 的基础,我不知道因为显示页面与 IE11 不同。有可能解决这个问题吗?

我搜索了另一种替代组件,发现 Chromium(DCEF1 和 DCEF3 https://github.com/hgourvest/dcef3)但仅兼容 XE5。您知道与 XE 7 兼容的其他组件或新版本的 Chromium 吗?

【问题讨论】:

  • 我一直在使用您提供的链接中的 Chromium,它在 Delphi 10.1 上运行良好。

标签: delphi internet-explorer-11 delphi-xe7 chromium-embedded


【解决方案1】:

嵌入式网络浏览器默认使用 Internet Explorer 7,但您可以在注册表项上更改它,声明您的应用程序所需的文档模式。

https://blogs.msdn.microsoft.com/patricka/2015/01/12/controlling-webbrowser-control-compatibility/ https://msdn.microsoft.com/library/ee330730(v=vs.85).aspx#browser_emulation

【讨论】:

  • 我尝试将我的应用程序添加到注册表项中,并且工作正常,TWebBrowser 和 IE11 一样,但该解决方案对我不利,因为强制在运行该应用程序的所有客户端计算机中编辑注册表项。
  • 那你可能想试试 Chromium。它在 Delphi 10.1 Berlin 上对我来说效果很好,所以它很可能在 Delphi XE7 上对你有用。只需安装 XE5 包。
  • 顺便说一句,您的应用程序还可以检查注册表中的该条目,如果找不到,请创建它(您甚至不需要提升权限,因为您可以将这些设置写入HKEY_CURRENT_USER)。使用 TRegistry 类很容易做到这一点。
  • 感谢 Marc,我在 Delphi XE7 中安装了 Chromium(我用 FMX 库解决了这个问题)并且网络浏览器工作正常!
猜你喜欢
  • 1970-01-01
  • 2022-10-07
  • 2016-11-14
  • 2011-03-31
  • 2018-03-19
  • 2020-07-12
  • 1970-01-01
  • 2012-02-12
  • 1970-01-01
相关资源
最近更新 更多