Hy,
Я работаю над проектом, который должен вызывать из C ++ пользовательскую функцию, созданную на JavaScript. Я могу запустить функцию
Проект должен работать только на Windows (на самом деле это служба Windows), поэтому можно использовать интерфейсы IWebBrowser2 и IHtmlDocument2.
Подпись функции string function(string)
, Я могу запустить функцию в C ++, основанную на этот урок (Я использую интерфейс IWebBrowser2 и IHtmlDocument2), но я не могу получить выходные данные этой функции JS обратно в C ++.
Есть ли какой-либо метод для получения вывода из этой функции JS обратно в C ++, используя эти интерфейсы? (или, может быть, другой)
Спасибо,
Я отвечу на свой вопрос, если у кого-то возникнет такой же вопрос:
Короткий ответ: вы не можете получить выходные данные сценария JavaScript, используя эти интерфейсы. IWebBrowser2 и IHtmlDocument работают в контексте, основанном на IE, поэтому вы не можете получить выходные данные запущенных сценариев.
Решения этой проблемы:
Если вы планируете использовать V8 в своем приложении, базовый пример для вызова функции представлен на Вызов javascript-функции v8 из c ++ с аргументом (Но учтите, что функция Dispose () неправильно расположена)
Если вы планируете использовать Active Script Interfaces, базовый пример приведен на Запустить функцию JavaScript из C ++ без MFC . Это полезный пример, который показывает, как запустить функцию JavaScript.
Других решений пока нет …