2013-09-13 3 views
5

Как я могу выполнить JavaScript и получить его результат в DCEF3? Я был бы признателен, если бы кто-нибудь мог написать простой пример того, как это можно сделать.Как получить результат от выполнения JavaScript во встроенном элементе управления Chromium?

Я могу выполнить JavaScript с кодом ниже, но он не дает результата.

Browser.MainFrame.ExecuteJavaScript('app.doit(''foo'')', '', 0); 

ответ

1

От реализации питона wiki:

Эта функция выполняет асинхронно, так что нет никакого способа, чтобы получить возвращаемое значение. Вызов javascript из собственного кода синхронно невозможен в CEF 3. Также невозможно синхронно делать это другим способом. js-> родной.

1

Вот мой workaroud: используйте команду `console.log() 'JS. Идея состоит в том, чтобы запустить желаемый JS-код и записать результат на консоль; после этого вы можете перехватить сообщение консоли и получить результат.

Пример:

var a = 1; 
var b = 2; 
var result = a + b; 
console.log(result); 
return result; 

Это не идеальный, но работал для меня.

 Смежные вопросы

  • Нет связанных вопросов^_^