我想阻止IE显示JS错误对话框,我读到它可以通过设置 ScriptErrorsSuppressed = true来完成。在IE8中禁止脚本错误(C++)
我到底在哪里设置IWebBrowser2?
感谢
我想阻止IE显示JS错误对话框,我读到它可以通过设置 ScriptErrorsSuppressed = true来完成。在IE8中禁止脚本错误(C++)
我到底在哪里设置IWebBrowser2?
感谢
你正在阅读指的是你可以做什么,如果你嵌入自己的应用程序的IE HTML渲染窗格中的文档。它们允许您更改该窗格的行为。
如果你已经这样做了,那么你可以使用COM来QueryInterface从组件的IWebBrowser2接口。
查看更多在这里:
http://support.microsoft.com/kb/196340
这里是你如何处理错误:
http://support.microsoft.com/kb/261003
我怀疑这不是你正在尝试做的,你是刚制作一个网络应用程序。在这种情况下,你需要
的快速简便的方法是使用一个全球性的状态,以解决当地的问题,如描述here(虽然Raymond would disapprove这样做的),修改注册表。这基本上完全停用了当前登录用户的脚本错误。
摘要:
REG_SZ
(字符串值)更复杂的解决方案是执行IOleCommandTarget,正如Lou已经指出的那样。
只需使用put_Silent方法。
m_pWebBrowser->put_Silent(VARIANT_TRUE);
改变HKEY_CURRENT_USER
和HKEY_LOCAL_MACHINE
路径。
Software\\Microsoft\\Internet Explorer\\Main
RegSetValueEx (hKey, LPCSTR("Disable Script Debugger"), 0, REG_SZ, (BYTE*) "yes", 3);
RegSetValueEx (hKey, LPCSTR("DisableScriptDebuggerIE"), 0, REG_SZ, (BYTE*) "yes", 3);
如前所述,使用put_Silent()
方法打开或关闭错误报告。
例如,如果使用CDHtmlDialog
,把这个在您的OnInitDialog()
:
m_pBrowserApp->put_Silent(VARIANT_TRUE);
,并把它之前LoadFromResource()
电话。
要小心,因为这样会比JavaScript错误抑制更多的消息。 (认为SSL证书通知。)