【发布时间】:2014-01-27 05:31:39
【问题描述】:
我正在编写一个供个人使用的小型 chrome 扩展程序,我想通过上下文菜单运行可执行文件并将某些信息作为参数传递给所述可执行文件。
实现这一目标的最简单和/或最干净的方法是什么?对我来说,由于 chrome 的沙盒,这似乎是不可能的。
【问题讨论】:
标签: google-chrome command executable chromium
我正在编写一个供个人使用的小型 chrome 扩展程序,我想通过上下文菜单运行可执行文件并将某些信息作为参数传递给所述可执行文件。
实现这一目标的最简单和/或最干净的方法是什么?对我来说,由于 chrome 的沙盒,这似乎是不可能的。
【问题讨论】:
标签: google-chrome command executable chromium
这可以通过via NPAPI Plugins来完成。
在 NPAPI 插件中运行的代码具有 当前用户,并且不会被沙盒或屏蔽恶意输入 谷歌浏览器以任何方式。你应该特别小心,当 处理来自不受信任来源的输入,例如在使用 内容脚本或 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 发送消息 允许更持久的连接。
所以,你不能直接执行一个命令,但是你可以有一个原生的 应用程序为您完成。
您可以在Native Messaging in the docs找到更多信息。
【讨论】: