是否可以从Chrome浏览器中的按钮打开本地应用程序,如Terminal.app

时间:2015-09-09 14:56:26

标签: macos google-chrome

我知道这听起来很疯狂......但我真的希望有这样的东西......

点击页面中的按钮,例如:

localhost:8080/index

其中有一个按钮。当我单击该按钮时,它会运行本地应用程序。在这种情况下,我希望它可以从按钮获得一些额外的信息,如:

<button id="script1.sh">Run</button>
<script>
$("button").click(function(){
  var scriptName = $(this).attr("id");
  OpenTermninalWithScript(scriptName);
});
</script>

我使用的是Macintosh /谷歌浏览器。

1 个答案:

答案 0 :(得分:1)

当你在localhost:8080/index时,我保证你可以从后端部分打开它(前端API尚未发展为具有安全许可,允许以安全的方式)

为此,您的前端脚本将在您选择的要求后端继续的特定URL上创建对后端的ajax调用。您可以在终端中启动子进程(您可以通过命令行界面(CLI)执行任何您想要的操作,或者只使用默认的open来简化

这里是一个nodejs / express示例,但它可以使用java,php python等等

var spawn = require('child_process').spawn;
var app = require('express')();

app.get('/path/to/trigger/comand', function(req, res){
    spawn('open', ['http://google.com']);
    res.end('ok');
});

// [...]

open打开一个ressource,你可以在这里放置你的操作系统将以其默认行为打开的任何类型的资源