从C ++中获取JavaScript函数的输出

时间:2013-05-29 21:19:23

标签: javascript c++ com iwebbrowser2

Hy,

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

该项目应仅适用于Windows(实际上它是Windows服务),因此可以使用IWebBrowser2和IHtmlDocument2接口

该函数的签名为string function(string)。我能够在C ++中运行该函数,基于this tutorial(我正在使用IWebBrowser2和IHtmlDocument2接口),但是我无法从C ++中获得该JS函数的输出。

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

谢谢,

1 个答案:

答案 0 :(得分:0)

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

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

此问题的解决方案是:

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

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