我想在 TWebbrowser 中运行 JavaScript 代码并获取它的控制台输出。例如,如果我在控制台中运行此代码:
var a = 2; var b = 3; var c = a +b ; console.log('The result is '+ c);
我在控制台上得到这个输出:
The result is 5
我用来通过 TWebbrowser 运行 JS 脚本的代码是这样的:
twebbrowser1.navigate('javascript:var a = 2; var b = 3; var c = a +b ; console.log('The result is '+ c);');
它有效,但我不知道如何获取控制台输出。有办法做到吗?
提前致谢!
最佳答案
根据 MSDN,您的(Delphi)应用程序似乎需要实现 IDeveloperConsoleMessageReceiver
界面。
然后您可以将 IDeveloperConsoleMessageReceiver
的对象实例连接到浏览器的当前文档。查询 TWebBrowser.Document
属性以获取其 IOleCommandTarget
接口(interface)然后调用其Exec()
方法发出 IDM_ADDCONSOLEMESSAGERECEIVER
命令。
尝试一下,如果遇到困难,请尝试再次询问。
关于delphi - 如何在TWebbrowser中获取JS脚本控制台输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37728916/