1

我创建了一个 Java 程序,它需要一些命令行参数来运行。我需要对程序进行浏览器扩展,以便可以使用浏览器中的数据打开程序。

我知道 Javascript 不允许任何本地文件访问,但是有一些程序可以完成我需要的任务。

示例是 Internet 下载管理器,它具有用于运行它的浏览器扩展,从浏览器接收命令行参数。显然,包括 Chrome 和 Firefox 在内的大多数浏览器的扩展都是使用 Javascript 制作的?有没有办法通过 JavaScript 执行本地程序(我认为肯定有办法)?

4

1 回答 1

1

您不能直接从客户端 PC 上的 JS 沙箱中运行任何东西(想想安全风险!)但是还有其他方法:让您的应用程序在安装时将自己注册为协议处理程序,并在您的页面上使用带有此协议的链接(想想如何电子邮件客户端服务于 mailto:或 torrent 客户端服务于磁铁:链接)。由于您同时控制发送方和接收方,因此您可以在其中传递几乎任何信息。您可以在 MSDN找到用于注册句柄的 Windows 示例。如果您需要它用于任何其他系统,我很确定搜索“system_or_gui_name 注册协议处理程序”将首先显示您想要的结果。

于 2012-04-27T16:19:40.923 回答