为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

智慧大石 2021-08-20 09:52:13
例如,我正在使用 ExecuteJavaScriptAsync(..) 方法通过 cefSharp 运行脚本,并且在运行脚本时抛出错误,我如何检测它然后在我的 c# 程序中捕获它?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

如果您需要评估返回值的代码,请使用 Task EvaluateScriptAsync(string script, TimeSpan? timeout) 方法。Javascript 代码是异步执行的,因此使用 .Net Task 类返回响应,其中包含错误消息、结果和成功 (bool) 标志。


// Get Document Height

var 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());


查看完整回答
反对 回复 2021-08-20
  • 1 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信