将数据从浏览器 Javascript 传递到 Delphi 应用程序

Passing data from browser Javascript to Delphi application

我有一个 Google Sheets 文档,其中包含开票数据和一个用 Delphi 7.

编写的开票软件

我想要实现的是将发票数据从 sheet 中选定的行传递到开票软件。为了做到这一点,我打算在GoogleSheet文档中实现一个简单的javascript

问题是:这个浏览器内 javascript 是否可以将数据传递到我的发票软件?

一个简单的解决方案是让发票软件启动一个小型网络服务器,该服务器可以从浏览器中的 JavaScript 接收跨源-AJAX 请求。这样 JavaScript 就可以发送一个 POST 请求给例如http://localhost:8080/invoice

另一种方法是使用自定义协议注册发票软件,然后让 JavaScript 使用该协议打开一个新选项卡,并将数据编码到 URL 中。 (如何在 Windows 上执行此操作)

如果开票软件不受您的控制(我假设是这样),那么除非该软件已经支持它,否则这些方法都不会奏效。

将任何数据从 JavaScript 发送到 Delphi 的另一种方法是将 CEF4Delphi 添加到您的 Delphi 发票软件.

JSExtension 演示展示了如何注册执行 Delphi 代码的自定义 JavaScript 函数并将结果发送到您的发票软件。