是否可以组合chrome扩展和chrome本机客户端并将它们作为单个单元分发

时间:2015-03-04 15:09:41

标签: google-chrome google-chrome-extension google-nativeclient

我想创建一个新的Chrome扩展程序,该扩展程序将通过Chrome商店分发。我还想将此扩展的一些代码部分移植到本机代码,并使用Chrome的本机客户端。

所以我的问题 - 是否可以创建

的解决方案
  • 包含两个组件 - Chrome扩展程序(例如可以将内容脚本嵌入到google.com等第三方网站)和本机客户端(例如运行一些本机代码)。
  • 应该使这两个组件能够彼此交互,例如通过消息传递(https://developer.chrome.com/extensions/messaging
  • 通过Chrome商店作为一个整体发布。

提前致谢。

1 个答案:

答案 0 :(得分:3)

有两种类似命名但却截然不同的技术。

  1. 原生主机。这些是单独的程序,无法在网上应用店中分发,并使用Native Messaging(标准消息传递API的变体)与您的JavaScript交谈。 / p>

  2. 原生客户端模块(NaCl/PNaCl)。这些模块与浏览器插件类似,可以与扩展程序捆绑在一起。

    请注意,它们是从系统中沙箱化的 - 这里的想法是浏览器中的性能提升或非平凡的非HTML UI。

    在扩展程序中,您创建一个<embed>元素,用于创建本机代码模块的实例。带有DOM事件的JavaScript code can interact with (P)NaCl code

    This page包含有关在Chrome应用中使用NaCl的指南,并提到这同样适用于扩展程序。我还没有看到任何更好的文档,所以你需要进行实验和搜索。