NPAPI for Python - Chrome扩展程序

时间:2011-02-21 04:53:27

标签: python google-chrome-extension npapi firebreath

我正在尝试开发一个chrome扩展,其中我编写了所有我的 'python'中的逻辑。现在在浏览器操作上我想传递参数 并执行该.py文件并将结果返回到将打开的弹出窗口 在浏览器操作上。要从JavaScript调用.py文件,我知道我会 需要编写NPAPI插件代码。但我在哪种方法之间感到困惑 应采取。我遇到了一些选择,我正在尝试选择 最简单的方法..

  1. Pajamas Python Javascript编译器:是一个Python-to-Javascript 编译器作为语言翻译器,但在常见问题解答中 网站上一个问题表明它不会在Chrome上运行。 (http://pyjs.org/

  2. FireBreath:FireBreath是一个允许轻松创建的框架 强大的浏览器插件。 (http://www.firebreath.org

  3. pyplugin - XULRunner的Python NPAPI插件:它允许你 使用XUL和Python构建跨平台的图形用户界面。 (http://pyplugin.com

  4. Plz指导我最简单的方法,这将允许我传递参数和 执行.py文件并从.py。

    接收返回的结果

    感谢名单

1 个答案:

答案 0 :(得分:5)

好吧,睡衣Python Javascript编译器将不完整 - 并非所有的python功能都可以在javascript中使用,因此无法将所有python转换为javascript。这可能会或可能不会做你想要的,但我不认为它“在运行中”发生,我认为你必须在桌面上写东西并通过“编译器”运行它以从另一方获得javascript。

FireBreath是上网史上最令人惊叹的事情 - 我应该知道,因为我写了它 - 它绝对会让你做你想要的,但你必须知道如何与Python结合用C ++来做你想做的事。也就是说,你可以使用boost.python,它包含在FireBreath附带的boost子集中,但我从来没有使用它,所以我不知道。你可以用NPAPI插件做任何你想做的事情,但你要真正小心安全问题。

快速浏览一下pyplugin让它看起来像pyplugin基本上是你在FireBreath中写的,但只是一个原始的npapi插件。如果这样做你想要的,它可能是最简单的方法。它被设计为与XUL一起使用,这可能是一个问题,因为Chrome不支持XUL。您也可以修改它(因为它是GPL)来做你想要的。当然,如果您不打算发布源代码,那也可能是个问题。

解决问题的最快方法?好吧,你必须决定;它需要更多的研究,但我希望这足以让你开始。祝你好运!