【问题标题】:chrome/chromium extension: run a executable/script via the context menuchrome/chromium 扩展:通过上下文菜单运行可执行文件/脚本
【发布时间】:2014-01-27 05:31:39
【问题描述】:

我正在编写一个供个人使用的小型 chrome 扩展程序,我想通过上下文菜单运行可执行文件并将某些信息作为参数传递给所述可执行文件。

实现这一目标的最简单和/或最干净的方法是什么?对我来说,由于 chrome 的沙盒,这似乎是不可能的。

【问题讨论】:

    标签: google-chrome command executable chromium


    【解决方案1】:

    这可以通过via NPAPI Plugins来完成。

    在 NPAPI 插件中运行的代码具有 当前用户,并且不会被沙盒或屏蔽恶意输入 谷歌浏览器以任何方式。你应该特别小心,当 处理来自不受信任来源的输入,例如在使用 内容脚本或 XMLHttpRequest。

    但是,我也应该包括他们的警告。

    警告

    NPAPI is being phased out.考虑使用替代品。

    NPAPI 是一把非常大的锤子,只有在没有其他人的情况下才应该使用 方法会奏效。

    通过Start an external application from a Google Chrome Extension?

    NPAPI 的替代方案

    1. NPAPI 有多种替代方案。在标准网络的情况下 技术还不够,开发人员和管理员可以 使用NaClAppsNative Messaging APILegacy Browser Support 从 NPAPI 过渡。展望未来,我们的目标是发展 基于标准的网络平台,涵盖曾经由 NPAPI。

      通过http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html

    2. 另一种方式,suggested here,是使用 Java。

      Java 小程序:http://docs.oracle.com/javase/tutorial/deployment/applet/

      实施政策:http://docs.oracle.com/javase/tutorial/security/userperm/policy.html

    3. 使用sendNativeMessage:

      chrome.runtime.sendNativeMessage可以用来发送一个 向本机应用程序和chrome.runtime.connectNative 发送消息 允许更持久的连接。

      所以,你不能直接执行一个命令,但是你可以有一个原生的 应用程序为您完成。

      您可以在Native Messaging in the docs找到更多信息。

      通过https://stackoverflow.com/a/19917672/1085891

    【讨论】:

    • 既然 NPAPI 正在被淘汰,我应该使用哪一种替代方案?我只想执行一个外部程序/脚本,所以应用程序、本机消息 API 和旧版浏览器支持似乎不是一个选项。
    • 我将通过“本地消息传递”chromium.googlesource.com/chromium/src/+/master/chrome/common/… 测试他们页面中给出的示例
    • Native Messaging 似乎是让 ZPL 和 Generic Text-Only 打印在不进行预渲染的情况下全速工作的关键。虽然,只有 chrome 的方式。
    • @JSuar,难道 PPAPI 不是 NPAPI 的替代品吗?
    • @Pacerier,是的,我认为你是对的。我知道的不够多,也找不到有关 PPAPI 功能的信息,因为它与原始问题有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多