如何在TWebbrowser中获取JS脚本控制台输出?

del*_*les 2 delphi mshtml twebbrowser

我想在TWebbrowser中运行一个javascript代码并获取它的控制台输出.例如,如果我在控制台中运行此代码:

var a = 2; var b = 3; var c = a +b ; console.log('The result is '+ c); 
Run Code Online (Sandbox Code Playgroud)

我在控制台上得到这个输出:

The result is 5
Run Code Online (Sandbox Code Playgroud)

我用来运行带有TWebbrowser的JS脚本的代码是这样的:

twebbrowser1.navigate('javascript:var a = 2; var b = 3; var c = a +b ; console.log('The result is '+ c);');
Run Code Online (Sandbox Code Playgroud)

它工作,但我不知道如何获得控制台输出.有办法吗?

提前致谢 !

Mar*_*ynA 7

根据MSDN,看起来您的(Delphi)应用程序需要实现该IDeveloperConsoleMessageReceiver接口.

然后,您可以将您的对象实例连接IDeveloperConsoleMessageReceiver到浏览器的当前Document.查询TWebBrowser.Document属性的IOleCommandTarget接口,然后调用其Exec()方法发出IDM_ADDCONSOLEMESSAGERECEIVER命令.

试试看,如果你遇到困难,请再试一次.