WinForms 中的 CefSharp - ExecuteScriptAsync 或 EvaluateScriptAsync 不起作用

Posted

技术标签:

【中文标题】WinForms 中的 CefSharp - ExecuteScriptAsync 或 EvaluateScriptAsync 不起作用【英文标题】:CefSharp in WinForms - ExecuteScriptAsync or EvaluateScriptAsync doesnt work 【发布时间】:2015-11-25 14:07:29 【问题描述】:

我在我的项目中使用 CefSharp WinForms,我无法让它从 CefSharp 浏览器控件执行 JS 脚本 (虽然我是导航到 URL - 所以大多数 CEF 功能都有效) 我尝试按照以下教程进行操作:https://github.com/cefsharp/CefSharp/search?utf8=%E2%9C%93&q=BoundObject

我正在使用以下命名空间:

using CefSharp.WinForms;
using CefSharp.Internals;

并添加了对以下程序集 (x64) 的引用:

CefSharp.WinForms.dll
CefSharp.dll
CefSharp.Core.dll

但是当我尝试使用其中一个功能时,我仍然收到以下错误: ExecuteScriptAsync 或 EvaluateScriptAsync

我收到以下错误:

'CefSharp.WinForms.ChromiumWebBrowser' does not contain a definition for 'EvaluateScriptAsync' and no extension method 'EvaluateScriptAsync' accepting a first argument of type 'CefSharp.WinForms.ChromiumWebBrowser' could be found (are you missing a using directive or an assembly reference?)

'CefSharp.WinForms.ChromiumWebBrowser' does not contain a definition for 'ExecuteScriptAsync' and no extension method 'ExecuteScriptAsync' accepting a first argument of type 'CefSharp.WinForms.ChromiumWebBrowser' could be found (are you missing a using directive or an assembly reference?)

谁能指导我到我想念的地方?还有其他 API 吗?也许我缺少一些参考 dll? 谢谢

【问题讨论】:

您是否安装了Nuget 软件包?您具体使用的是哪个版本?在较新的版本中,这些方法被制成Extension Methods,因为它们可以在特定帧上执行。在几个案例中,我看到人们遇到了麻烦。尝试先获取主机。示例见github.com/cefsharp/CefSharp/blob/cefsharp/45/CefSharp/… 【参考方案1】:

您可能缺少另一个命名空间。我建议你添加:

 using CefSharp;

我们遇到了同样的麻烦,发现我们只是错过了这个。 我们现在有:

using System.Text;
using CefSharp;
using CefSharp.WinForms;
using CefSharp.Internals;

【讨论】:

【参考方案2】:

CaptainBli 是正确的:你必须使用“使用 CefSharp”

可能你没想到它在那里,因为它似乎在另一个命名空间中:“CefSharp.WinForms.ChromiumWebBrowser”。

这是因为 EvaluateScriptAsync 和 ExecuteScriptAsync 是扩展方法

【讨论】:

以上是关于WinForms 中的 CefSharp - ExecuteScriptAsync 或 EvaluateScriptAsync 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

用cefsharp winforms下载文件

C# CefSharp如何在Winforms应用程序中使用

CefSharp.WinForms 使用手册(跨域请求、调用Vue方法)

[CefSharp] 如何在JavaScript中调用C#代码

CefSharp应用——程序输出

关于CefSharp使用的一些备忘