2

我有一个 C++ 应用程序,它使用 IWebBrowser2 接口来呈现一些在线 html 页面。问题是,当访问某个链接时,我收到一个 javascript 错误,尽管如果我使用 Internet Explorer 访问同一页面,页面加载时不会出现错误。我的应用程序中收到的错误是“对象不支持此操作”

我可以通过使用 put_Silent() 方法并将其设置为 VARIANT_TRUE 来隐藏错误,但这不是解决方案,因为显示的内容不正确。

我知道 IWebBrowser2 正在使用 Internet Explorer 引擎加载页面,所以我想有一种方法可以解决这个问题,因为页面在 IE 中加载正常。

4

1 回答 1

2

您可能必须实现IDocHostShowUI::ShowMessage

当您的应用程序托管浏览器控件时,您可以将 Windows Internet Explorer 消息框标题(用于 Microsoft JScript 警报等)替换为自定义标题

我想你会想要返回 S_FALSE。

S_FALSE 主机未显示其 UI。MSHTML 显示其消息框。

于 2012-10-05T22:07:02.800 回答