有什么方法可以在我的 c# 程序中捕获从 cefsharp 中的 javascript 抛出的错误?

例如,我正在使用 ExecuteJavaScriptAsync(..) 方法通过 cefSharp 运行脚本,并且在运行脚本时抛出错误,我如何检测它然后在我的 c# 程序中捕获它?


智慧大石
浏览 184回答 1
1回答

天涯尽头无女友

如果您需要评估返回值的代码,请使用 Task EvaluateScriptAsync(string script, TimeSpan? timeout) 方法。Javascript 代码是异步执行的,因此使用 .Net Task 类返回响应,其中包含错误消息、结果和成功 (bool) 标志。// Get Document Heightvar task = frame.EvaluateScriptAsync("(function() { var body = document.body, html = document.documentElement; return  Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); })();", null);task.ContinueWith(t =>{    if (!t.IsFaulted)    {        var response = t.Result;        EvaluateJavaScriptResult = response.Success ? (response.Result ?? "null") : response.Message;    }}, TaskScheduler.FromCurrentSynchronizationContext());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript