2011-10-04 104 views

回答

0

你正在阅读指的是你可以做什么,如果你嵌入自己的应用程序的IE HTML渲染窗格中的文档。它们允许您更改该窗格的行为。

如果你已经这样做了,那么你可以使用COM来QueryInterface从组件的IWebBrowser2接口。

查看更多在这里:

http://support.microsoft.com/kb/196340

这里是你如何处理错误:

http://support.microsoft.com/kb/261003

我怀疑这不是你正在尝试做的,你是刚制作一个网络应用程序。在这种情况下,你需要

  1. 修复您的JS错误
  2. 把所有的JS代码在try/catch块。然后你不会得到JS对话框,但你需要自己处理错误。
0

的快速简便的方法是使用一个全球性的状态,以解决当地的问题,如描述here(虽然Raymond would disapprove这样做的),修改注册表。这基本上完全停用了当前登录用户的脚本错误。

摘要:

  • 注册表项:HKEY_CURRENT_USER \ SOFTWARE \微软\的Internet Explorer \主要
  • 值名称:禁用脚本调试
  • 数据类型:REG_SZ(字符串值)
  • 数值数据:

更复杂的解决方案是执行IOleCommandTarget,正如Lou已经指出的那样。

5

只需使用put_Silent方法。

m_pWebBrowser->put_Silent(VARIANT_TRUE); 
1

改变HKEY_CURRENT_USERHKEY_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); 
1

如前所述,使用put_Silent()方法打开或关闭错误报告。

例如,如果使用CDHtmlDialog,把这个在您的OnInitDialog()

m_pBrowserApp->put_Silent(VARIANT_TRUE); 

,并把它之前LoadFromResource()电话。

要小心,因为这样会比JavaScript错误抑制更多的消息。 (认为​​SSL证书通知。)