【问题标题】:Local web page don't works into TWebBrowser [closed]本地网页不适用于 TWebBrowser [关闭]
【发布时间】:2014-06-10 19:48:25
【问题描述】:

我的本​​地 PC 中有一个网页,我需要在 TWebBrowser 中显示它。它显示像this 这样的热图。

当我将此页面显示到 IE 中时,它显示得很好(它显示了热图),但是当我将它加载到 TWebBrowser 时,它只显示地图,而不显示热图。为什么?有什么解决办法吗?

谢谢

【问题讨论】:

  • TWebBrowser 只是 Internet Explorer 的一个包装器,因此它的行为方式应该与完整浏览器相同。
  • 您是否将机器配置为在控件中使用现代浏览器,或者您是否使用旧版浏览器
  • @RemyLebeau 我知道,为此我不明白为什么不工作
  • 没有。我的意思是允许在 TWebBrowser 中使用现代 IE 的注册表设置和 doctype 选项。没有这个,你会得到 IE6 或类似的东西。
  • @cadetill,大卫暗示Browser Emulation feature。请参阅此SO question 了解更多信息...

标签: delphi google-maps-api-3 twebbrowser


【解决方案1】:

TWebBrowser 是托管WebBrowser Control 的包装。如果您的系统安装了 MSIE 5-7,则您的浏览器应用程序呈现的网页与 MSIE 完全相同。我可以想象在旧的 MSIE 中热图看起来也坏了。

如果您的系统安装了 MSIE 8(或更高版本),您的浏览器应用程序将默认以兼容模式呈现网页,除非您在注册表中明确指定默认模拟模式。

解决方案

例如,您的系统安装了 MSIE 10,而您的应用程序是 yourapp.exe。您将在注册表中写入一个字符串条目name=yourapp.exe, value=10000我建议为当前用户(不是 HKLM)写信给 HKCU。

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     yourapp.exe = (DWORD) 00010000 

现在您的应用程序可以像 MSIE10 一样呈现热图。 (MSDN) 中描述了完整的仿真值列表。

请注意,您应该首先阅读系统上安装的 MSIE 版本。如果您只安装了 MSIE10,则无法将仿真模式设置为 11000 (MSIE11)。

【讨论】:

  • 非常感谢,工作完美:)
猜你喜欢
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 2017-12-21
  • 2016-08-03
  • 1970-01-01
相关资源
最近更新 更多