Получить вывод из функции JavaScript в C++

Hy,

Я работаю над проектом, который должен вызывать из C++ пользовательскую функцию, созданную на JavaScript. Я могу запустить функцию

Проект должен работать только в Windows (на самом деле это служба Windows), поэтому можно использовать интерфейсы IWebBrowser2 и IHtmlDocument2.

Подпись функции string function(string), Я могу запустить функцию в C++, основываясь на этом уроке (я использую интерфейс IWebBrowser2 и IHtmlDocument2), но я не могу получить вывод этой функции JS обратно в C++.

Есть ли какой-нибудь метод для получения вывода из этой функции JS обратно в C++, используя эти интерфейсы? (или, может быть, другой)

Спасибо,

1 ответ

Я отвечу на свой вопрос, если у кого-то возникнет такой же вопрос:

Короткий ответ: вы не можете получить вывод скрипта javascript, используя эти интерфейсы. IWebBrowser2 и IHtmlDocument работают в контексте, основанном на IE, поэтому вы не можете получить выходные данные запущенных сценариев.

Решения этой проблемы:

Если вы планируете использовать V8 в своем приложении, базовый пример для вызова функции приведен в разделе Вызов функции javascript v8 из C++ с аргументом (но помните о функции Dispose (), которая неправильно размещена)

Если вы планируете использовать Active Script Interfaces, базовый пример приведен в разделе Запуск функции JavaScript из C++ без MFC. Это полезный пример, который показывает, как запустить функцию JavaScript.

Другие вопросы по тегам