有没有办法从WebBrowser控件跟踪Internet Explorer错误消息?

时间:2011-12-22 15:38:56

标签: c# javascript .net html webbrowser-control

有没有办法在webBrowser控件中跟踪错误消息?例如,在Firefox或Internet Explorer中,我可以查看控制台输出中的Javascript错误。有没有办法从应用程序中跟踪这些错误?

3 个答案:

答案 0 :(得分:2)

使用 window.onerror 事件,例如

window.onerror=function(msg, url, linenumber){
   alert('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber)
   return true
}

答案 1 :(得分:2)

有两篇相关的Microsoft知识库文章:

虽然这些与非托管C ++代码有关,但您也应该能够将这些代码用于C#Web浏览器控件。

另一篇文章建议订阅onerror事件:

m_htmlDoc = (IHTMLDocument2)axWebBrowser1.Document;
HTMLWindowEvents2_Event onErrorEvent;
onErrorEvent = (HTMLWindowEvents2_Event)m_htmlDoc.parentWindow;
onErrorEvent.onerror += new
HTMLWindowEvents2_onerrorEventHandler(myHTMLWindowEvents2_onerror);

最后,有a similar SO posting与Delphi有关。

答案 2 :(得分:0)

IE的后续版本有一个开发人员工具栏,但遗憾的是它不如Firebug或Web Inspector好,但幸运的是我们有Firebug lite(http://getfirebug.com/firebuglite)可以帮助解决大多数问题。 / p>