代码之家  ›  专栏  ›  技术社区  ›  delphirules

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

  •  2
  • delphirules  · 技术社区  · 8 年前

    我想在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);');
    

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

    提前谢谢!

    1 回复  |  直到 8 年前
        1
  •  7
  •   Remy Lebeau    8 年前

    根据MSDN,看起来您的(Delphi)应用程序需要实现 IDeveloperConsoleMessageReceiver 界面

    然后,您可以连接 IDeveloper控制台消息接收器 到浏览器的当前文档。查询 TWebBrowser.Document 其属性 IOleCommandTarget 接口,然后调用它的 Exec() 方法来发出 IDM_ADDCONSOLEMESSAGERECEIVER 命令

    试试看,如果你被卡住了,试着再问一次。