我创建了一个Java程序,它需要运行一些命令行参数。我需要对程序进行浏览器扩展,以便可以使用浏览器中的数据打开程序。
我知道Javascript不允许任何本地文件访问,但有些程序可以完成我需要的任务。
示例是Internet Download Manager,它具有浏览器扩展,用于运行它从浏览器接收命令行参数。显然,大多数浏览器(包括Chrome和Firefox)的扩展都是使用Javascript制作的?有没有办法通过JavaScript执行本地程序(我认为肯定有这种方式)?
答案 0 :(得分:1)
您不能直接从客户端PC上的JS沙箱运行任何东西(只考虑安全风险!)然而,还有其他方法:当您的应用程序在您的页面上安装并使用此协议的链接时,使其自身注册为协议处理程序(想想电子邮件客户端如何为mailto服务:或者torrent客户服务磁铁:链接)。由于您可以控制发送方和接收方,因此您可以传递相关信息。您可以找到用于注册句柄at MSDN的Windows示例。如果您需要它用于任何其他系统,我非常确定搜索“system_or_gui_name注册协议处理程序”将在第一个系统中显示您想要的结果。