防止Web浏览器控件WinForms中的脚本错误

时间:2012-11-30 17:10:01

标签: winforms internet-explorer

我已经编写了一个WinForms应用程序来打开一个webbrowser控件,我们用它填写一个表单,以编程方式从数据库提交培训课程事件(这不是很完美,但它节省了大量时间 - 不,有关公司不支持XML提要)。但是,系统刚刚开始生成脚本错误,导致其无法正常工作。

我尝试过设置:

WebBrowser1.ScriptErrorsSuppressed = True

但这只是部分成功。好消息是我没有收到任何脚本错误,但坏消息是我无法登录该站点。

有人有任何建议吗?据我所知,webbrowser控件使用IE,所以我无法使用其他浏览器。

提前致谢!

1 个答案:

答案 0 :(得分:2)

根据文档http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.scripterrorssuppressed.aspx,如果您取消错误,还会禁止显示对话框。含义用于登录的警报框/认证也将被禁止。

以下是文档中提到的内容:

  

当ScriptErrorsSuppressed设置为true时,WebBrowser控件会隐藏源自底层ActiveX控件的所有对话框,而不仅仅是脚本错误。有时您可能需要在显示对话框时禁止脚本错误例如用于浏览器安全设置和用户登录的那些。在这种情况下,将ScriptErrorsSuppressed设置为false并在HtmlWindow.Error事件的处理程序中禁止脚本错误。

正如文档所述,您可以处理HtmlWindow.Error事件以允许对话框,但只能抑制脚本错误。 (虽然,我一直有这个问题实际上正常工作。)