是否有可能在托管Chromium Embedded时出现JavaScript错误?

时间:2013-05-29 11:28:14

标签: .net winforms chromium chromium-embedded cefsharp

过去使用过标准的WinForms WebBrowser控件,只要在托管的Web浏览器控件的当前加载页面内发生脚本错误,我就能获得OLECMDID_SHOWSCRIPTERROR notifications

现在我转而使用Chromium Embedded(通过CefSharp .NET wrapper)并寻找类似的内容。

我能想到injecting some JavaScript code,但我真的很想拥有一个不需要改变HTML的解决方案。

我的问题:

在当前加载的页面中发生JavaScript错误时,Chromium Embedded是否有可能通知我的应用程序?

(我也是asking this in the CefSharp group蚂蚁认为这可能是独立的,所以在Stack Overflow上也可以这么做了)

更新1:

我看到CefSharp似乎没有实现OnUncaughtException function。但不确定这是关于JavaScript错误还是CEF错误。

1 个答案:

答案 0 :(得分:5)

虽然它没有为您提供明确知道何时出现错误的特异性,但您可以绑定到ConsoleMessage事件。我将此与Log4Net结合使用,以跟踪来自Chromium的所有控制台消息,其中包含大多数javascript错误:

var webView = new WebView(startUrl, browserSettings);
webView.ConsoleMessage += (sender, args) =>
                                        {
                                log.Debug(string.Format("Webview {0}({1}): {2}", 
                                                                   args.Source, 
                                                                   args.Line, 
                                                                   args.Message))
                                         };