2013-08-28 180 views
1

我正在开发一个Chrome扩展程序来帮助自动执行任务。我已经达到了需要我的扩展来触发一些AutoHotkey脚本的地步。如何使用JavaScript激活AutoHotkey脚本?

有没有什么办法可以触发一个使用JavaScript的AutoHotkey? (我也使用jQuery)

回答

2

HTTP路由可能是正确的路要走。您可以使用Node.js Node.js轻松设置小型服务器,并使用Child Process函数之一生成AHK脚本。我不知道Chrome扩展安全模型如何工作,因此您可能不得不缓解跨站点脚本问题。我认为这是可以解决的,但还没有这样做。

1

一般来说,两种方式浮现在脑海中:

1.仿效使用AHK

使用一个自己的本地Web服务器(理想的是第一手AHK实现)一个HTTP服务器,你可以直接通过AJAX调用进行通信。然后服务器可以接收和委托任何类型的命令。 对于AHK,存在Sparrow,但该项目似乎已经死亡,并且该帖子中的源代码链接已关闭;你必须从别的地方得到它们(例如一些svn仓库)。您也可以实施一个命令行工具,如KF Web Server,并将其与您的脚本一起使用。

2.定义自己的协议

另一种解决方案是简单地指定自己的协议,并将其分配到一个可执行文件,例如您的脚本或某种调度程序,根据您传递的参数启动其他应用程序。 This answer描述了如何在Windows中定义自己的协议。您也可以查看相应的windows documentation
如果您能够使用JavaScript在浏览器中调用自定义协议,则强烈依赖于您的浏览器以及其安全设置。你需要检查一下你的环境。

安全
不管你去,给人一种网页来运行应用程序,甚至执行代码开辟了严重的安全漏洞的能力有什么解决办法。如果攻击者发现你的协议,网络服务器等,他们可以很容易地注入自己的东西,当你访问他们控制的网站。这就是为什么你至少应该实现两件事情:
a)使用某种认证机制(例如HMAC)。这使得开采至少有点困难。
b)永不直接执行参数作为代码。始终解析并检查其完整性。

+0

谢谢,我会阅读您提供的链接。至少我现在有一个方向。祝你有美好的一天!阿迪Ulici –