有没有一种从JavaScript调用Python库的简单方法?特别是从Firefox扩展的内部。
编译纯Python库的一个好方法也很棒。我看了Pyjamas,但它似乎只为Python提供了部分支持。
答案 0 :(得分:4)
您可能希望查看Titanium Desktop。它有一个很棒的API,允许您从Javascript中轻松调用Python。
例如:
<script type="text/python" src="myfile.py"/>
它使用Kroll Python Bridge扩展并使用简单的<script>
标记调用函数。
你可以轻松传递整数,浮点数,布尔值,对象,就在那里。
前面提到的链接有几个简单用法的例子,当然可以下载。 :)
答案 1 :(得分:3)
这不会在扩展中完成,但更有可能是插件(有时模糊但显着的差异。)
我现在还没有发现任何直接暴露Python的插件,但我听说有两种方法让它间接工作。例如:您可以获得IronPython(.Net驱动版本)running through Silverlight。关于您可能感兴趣的主题还有一个slashdot article。
否则,不。我不相信今天有直接的办法。不是说我不会爱一个。 :)
答案 2 :(得分:3)
您可以构建一个使用libpython运行python代码的本机Firefox扩展。从那里,导出一个界面,使您的Javascript代码能够调用在您的扩展中运行的python。
似乎有一个Firefox python扩展可以让你做你想做的事情: http://pyxpcomext.mozdev.org/
答案 3 :(得分:3)
你需要一个内置python支持的浏览器(但这不是“标准”,因此它会破坏使用webapp的目的 - 如果你需要一个特殊的客户端,你可以更好地使用经典的gui),或者将Python翻译成Javascript的方法;当时有三种选择:
相反,如果只是想要扩展Firefox,请看一下: http://pyxpcomext.mozdev.org/
答案 4 :(得分:2)
看一下它实现的https://github.com/niedbalski/slurpy Slurpy项目 双向通信作为RPC机制。
python = new Slurpy();
python.on('loaded', function(evt) {
python.sum(10.5,1000, function(response) {
alert(response);
});
});
答案 5 :(得分:0)
我不是百分百肯定,但我确实知道在Google Chrome上你不能:你需要:
出于安全考虑,Firefox案例的情况可能相同。