在MFC VC++应用程序中实现Webbrowser控件。当页面上有脚本错误时,即使我在Internet Explorer中取消选择“显示有关每个脚本错误的通知”,它也会一直显示。此控件继承IE中的其他选项,如“显示图像”,但不继承脚本错误。
我尝试调试"OnNavigateError()“和"OnNewBrowserWindow()”事件,但它仍然不在这里。我知道在C#中有一个名为"ScriptErrorsSuppressed“的属性来禁用浏览器控件中的脚本错误,但在VC++中如何做到这一点。请帮帮忙。
发布于 2017-06-17 17:29:13
请注意,您永远不可能捕获所有错误,您还应该考虑显示这些恼人的消息。毕竟,WebBrowser控件不是浏览器,它被多次用于有限的目的(例如:我正在为一个映射项目使用它)。因此,您可以通过调用以下命令来关闭这些消息:
m_Browser.put_Silent(TRUE);
您需要阅读MSDN文章:How to handle script errors as a WebBrowser control host并添加几个包含文件
#include <Docobj.h>
#include <Mshtml.h>
并最终定义:
DEFINE_GUID(CGID_DocHostCommandHandler,0xf38bc242,0xb950,0x11d1,0x89,0x18,0x00,0xc0,0x4f,0xc2,0xc8,0x36);
发布于 2013-04-08 00:58:23
MSDN提供了一些关于How to handle script errors as a WebBrowser control host的信息。这条信息对我很有效。
https://stackoverflow.com/questions/11652016
复制