我想阻止IE显示JS错误对话框,我读到它可以通过设置来完成 ScriptErrorsSuppressed = true。
我在IWebBrowser2中的确切位置?
由于
答案 0 :(得分:6)
只需使用put_Silent方法。
m_pWebBrowser->put_Silent(VARIANT_TRUE);
答案 1 :(得分:1)
在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);
答案 2 :(得分:1)
如前所述,使用put_Silent()
方法打开或关闭错误报告。
例如,如果使用CDHtmlDialog
,请将其放在OnInitDialog()
:
m_pBrowserApp->put_Silent(VARIANT_TRUE);
并在LoadFromResource()
来电 之前将其设为。
要小心,因为这会抑制比JavaScript错误更多的消息。 (考虑SSL证书通知。)
答案 3 :(得分:0)
您正在阅读的文档是指在您自己的应用程序中嵌入IE HTML呈现窗格时可以执行的操作。它们允许您更改该窗格的行为。
如果你已经这样做了,那么你可以使用COM来查询组件中的IWebBrowser2接口。
在此处查看更多信息:
http://support.microsoft.com/kb/196340
以下是处理错误的方法:
http://support.microsoft.com/kb/261003
我怀疑那不是你想要做的,而是你只是制作一个网络应用程序。在这种情况下,您需要
答案 4 :(得分:0)
快速简便的方法是使用全局状态来解决本地问题并按照here所述修改注册表(尽管Raymond would disapprove这样做)。这基本上完全停用了当前登录用户的脚本错误。
要点:
REG_SZ
(字符串值)正如IOleCommandTarget已经指出的那样,更复杂的解决方案是实施Lou。