使用标准 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/