如何在WebBrowser控件中禁用JavaScript警告?

时间:2009-10-03 15:32:30

标签: javascript error-handling webbrowser-control

我正在使用WebBrowser控件和mshtml.dll。当我模拟点击链接<a href='..'>..</a>时,WebBrowser会显示一个JavaScript警告对话框:

  

无法将焦点移动到元素中,因为它处于不可见状态,关闭或无法聚焦。

我用来模拟点击的代码:

anchor.click();

...其中anchor的类型为:HTMLAnchorElementClass

所以我想禁用组件WebBrowser中的所有JavaScript警告。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

我不确定您是否引用了Windows WebBrowser控件,但它具有ScriptErrorsSuppressed属性来禁用脚本错误消息。

答案 1 :(得分:0)

您必须找到您正在执行的地方anchor.click();,然后将其删除或将其替换为if(anchor.clientHeight != 0){anchor.click();}

答案 2 :(得分:0)

通过将link元素作为页面的一部分并可见,可以解决此特定警告。

调用click()方法实际上不仅仅是执行onclick处理程序并导航浏览器,它还会关注元素 - 就像真正的点击发生时一样。如果元素在屏幕外,则无法执行此操作。

只需将链接附加到正文即可显示此警告。