我正在编写一个小的chrome扩展供个人使用,我想通过上下文菜单运行一个可执行文件,并将某些信息作为参数传递给所述可执行文件。
最简单和/或最干净的方法是什么?对我而言,由于铬的沙盒,它似乎是不可能的。
答案 0 :(得分:10)
这可以完成via NPAPI Plugins。
在NPAPI插件中运行的代码具有完整的权限 当前用户并没有沙箱或屏蔽恶意输入 谷歌Chrome以任何方式。你应该特别谨慎 处理来自不受信任来源的输入,例如在使用时 内容脚本或XMLHttpRequest。
但是,我也应该包括他们的警告。
警告
NPAPI is being phased out.考虑使用替代品。
NPAPI是一个非常大的锤子,只有在没有其他的时候才能使用 方法将起作用。
通过Start an external application from a Google Chrome Extension?
NPAPI的替代方案
NPAPI有几种替代方案。在标准网络的情况下 技术还不够,开发人员和管理员都可以 使用NaCl,Apps,Native Messaging API和Legacy Browser Support 从NPAPI过渡。展望未来,我们的目标是发展 基于标准的网络平台,涵盖曾经服务过的用例 NPAPI。
通过http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html
另一种方式suggested here是Java。
Java小程序:http://docs.oracle.com/javase/tutorial/deployment/applet/
实施政策:http://docs.oracle.com/javase/tutorial/security/userperm/policy.html
使用sendNativeMessage
:
有chrome.runtime.sendNativeMessage可用于发送 消息到本机应用程序和chrome.runtime.connectNative 允许更持久的连接。
因此,您无法直接执行命令,但您可以拥有本机命令 app为你做。
您可以在Native Messaging in the docs找到更多信息。