如何执行 JavaScript 并在 DCEF3 中获取结果?如果有人能写一个简单的例子来说明如何做到这一点,我将不胜感激。
我可以使用下面的代码执行 JavaScript,但它不提供结果。
Browser.MainFrame.ExecuteJavaScript('app.doit(''foo'')', '', 0);
如何执行 JavaScript 并在 DCEF3 中获取结果?如果有人能写一个简单的例子来说明如何做到这一点,我将不胜感激。
我可以使用下面的代码执行 JavaScript,但它不提供结果。
Browser.MainFrame.ExecuteJavaScript('app.doit(''foo'')', '', 0);
这是我的解决方法:使用 'console.log()' JS 命令。这个想法是运行所需的 JS 代码并将结果记录到控制台;在此之后,您可以拦截控制台消息并获取结果。
例子 :
var a = 1;
var b = 2;
var result = a + b;
console.log(result);
return result;
这不是理想的,但对我有用。
来自 python 实现wiki:
此函数异步执行,因此无法获取返回值。在 CEF 3 中,从本机代码同步调用 javascript 是不可能的。反之亦然,也不可能同步执行它。js->本机。