0

嗨,

我正在一个项目中工作,该项目必须从 C++ 调用一个用 JavaScript 制作的自定义函数。我能够运行该功能

该项目应该只能在Windows上运行(实际上它是一个Windows服务),所以使用接口IWebBrowser2和IHtmlDocument2是可以的

该函数的签名是string function(string). 根据本教程(我正在使用 IWebBrowser2 和 IHtmlDocument2 接口),我能够在 C++ 中运行该函数,但我无法从 C++ 中获取该 JS 函数的输出。

是否有任何方法可以使用这些接口从 C++ 中检索该 JS 函数的输出?(或者可能是其他)

谢谢,

4

1 回答 1

0

如果有人有同样的问题,我会回答我自己的问题:

简短的回答是您无法使用这些接口获取 javascript 脚本的输出。IWebBrowser2 和 IHtmlDocument 是在基于 IE 的上下文中运行的,因此无法获取运行脚本的输出。

这个问题的解决方案是:

如果您计划在您的应用程序中使用 V8,调用函数的基本示例在Calling a v8 javascript function from c++ with a argument 中提供(但是,请注意 Dispose() 函数,该函数放置错误)

如果您计划使用 Active Script Interfaces,基本示例在Run JavaScript function from C++ without MFC中提供。这是一个有用的示例,展示了如何运行 JavaScript 函数。

于 2013-06-05T08:25:25.403 回答