如何在 TWebbrowser 中获取 JS 脚本控制台输出?
How to get a JS script console output in 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 and then call its Exec()
方法以发出 IDM_ADDCONSOLEMESSAGERECEIVER
命令。
试试看,如果卡住了,请再试一次。
我想在 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 and then call its Exec()
方法以发出 IDM_ADDCONSOLEMESSAGERECEIVER
命令。
试试看,如果卡住了,请再试一次。