.net - 当托管的 Chromium Embedded 出现 JavaScript 错误时,是否可以获得通知?

标签 .net winforms chromium chromium-embedded cefsharp

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

现在我改用 Chromium Embedded (通过 CefSharp .NET wrapper )并寻找类似的东西。

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

我的问题:

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

(我也是 asking this in the CefSharp group Ant 认为这可能是独立的,所以也在 Stack Overflow 上问它)

更新 1:

我看到似乎有一个 OnUncaughtException function目前似乎没有由 CefSharp 实现。不过,不确定这是关于 JavaScript 错误还是 CEF 错误。

最佳答案

虽然它没有让您明确知道什么时候是错误的,但您可以绑定(bind)到 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))
                                         };

关于.net - 当托管的 Chromium Embedded 出现 JavaScript 错误时,是否可以获得通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812667/

相关文章:

centos - 无法在我的 centOS7 中安装 Chrome

C# - 屏蔽文本框(如何去掉其中的下划线)

c# - ConfigurationElementCollection 具有许多不同类型的 ConfigurationElements

c# - 在 C# 应用程序中处理多个表单

c# - TableLayoutPanel 的控制列属性

javascript - 从命令行使用 headless chrome 执行单个 Javascript 文件

c# - Async 和 Await 进程中的实体对象

c# - 当 EventLogEntry.Index 达到 MaxInt 时会发生什么?

c# - 在 spring.net 中预实例化原型(prototype)

browser - Chromium 和 Firefox 显示颜色不同,我不知道哪一个做得对