NPAPI для Python - расширение Chrome - PullRequest
4 голосов
/ 21 февраля 2011

Я пытаюсь разработать расширение Chrome, в котором я закодировал все свои логика в «питоне». Теперь в действии браузера я хочу передать параметры и запустите этот .py файл и верните результаты в всплывающее окно, которое откроет на действия браузера. Для вызова файла .py из JavaScript я знаю, что буду нужно кодировать плагин NPAPI. Но я запутался, какой подход я должен взять. Я наткнулся на несколько вариантов и пытаюсь выбрать самый простой способ сделать это ..

  1. Пижамный компилятор Javascript Python: это Python-to-Javascript Компилятор, который работает как переводчик языка, но часто задаваемые вопросы Последний вопрос сайта говорит о том, что он не будет работать на Chrome. (http://pyjs.org/)

  2. FireBreath: FireBreath - это структура, которая позволяет легко создавать мощные плагины для браузера. (http://www.firebreath.org)

  3. pyplugin - Плагин Python NPAPI для XULRunner: позволяет вам создавать кроссплатформенные графические пользовательские интерфейсы с использованием XUL и Python. (http://pyplugin.com)

Plz. Направьте меня к самому простому способу, который позволит мне передать параметры и выполнить этот .py файл и получить возвращенные результаты из .py.

Thanx

1 Ответ

5 голосов
/ 21 февраля 2011

Ну, Pyjamas Python Javascript Compiler не будет полным - не все возможности Python доступны в javascript, поэтому невозможно конвертировать весь python в javascript.Это может или не может делать то, что вы хотите, но я не думаю, что это происходит «на лету», я думаю, что вы должны написать вещи на рабочем столе и запустить его через «компилятор», чтобы вытащить JavaScript с другой стороны.

FireBreath - самая удивительная вещь, когда-либо появлявшаяся в Интернете - я должен знать с тех пор, как написал ее, - и она абсолютно позволит вам делать то, что вы хотите, но вы должны будете знать, какпривязать к Python с C ++, чтобы делать то, что вы хотите.Тем не менее, вы, вероятно, могли бы использовать boost.python, который включен в подмножество boost, которое поставляется с FireBreath, но я никогда не использовал его, поэтому не знаю.С плагином NPAPI вы можете делать все, что захотите, но вам нужно быть очень осторожным в вопросах безопасности.

Быстрый взгляд на pyplugin заставляет задуматься, что pyplugin - это то, о чем вы пишетеFireBreath, но просто необработанный плагин npapi.Если это будет делать то, что вы хотите, это, вероятно, самый простой путь.Он предназначен для использования с XUL, что может быть проблемой, поскольку Chrome не поддерживает XUL.Вы также можете изменить его (поскольку это GPL), чтобы делать то, что вы хотите.Конечно, если вы не планировали выпускать исходный код, это также может быть проблемой.

Самый быстрый способ решить вашу проблему?Ну, тебе придется решить;это займет еще некоторое исследование, но я надеюсь, что этого достаточно, чтобы, по крайней мере, вы начали.Удачи!

...