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

标签 delphi mshtml twebbrowser

我想在 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/

相关文章:

c# - 如何将内联样式注入(inject)到我的 WPF WebBrowser 中加载的文档中?

android - 在Android下使用Delphi在TWebbrowser中全屏观看youtube或其他视频时出现问题

delphi - 从 TWebBrowser 中显示的网页中提取文本

delphi - 在 Freepascal 编译的 DLL 和 Delphi 编译的 EXE 之间交换字符串 (PChar)

delphi - 在 Firemonkey 中切换到 Release模式

mshtml.dll 版本是 8.0,Microsoft.mshtml 是 7.0

javascript - 如何使用 WPF WebBrowser 覆盖网页上的 btnSubmit_onclick javascript 函数?

delphi - 有没有办法在不包含系统单元的情况下启用调试 DCU?

delphi - 为什么Assigned 对于未初始化的变量返回 true?

delphi - TChromium 中的默认界面缺失