Использование библиотек Java / Python при программировании расширений Firefox / Chrome - PullRequest
3 голосов
/ 09 сентября 2011

У меня есть идея изучить поведение пользователя в браузере, для чего я намерен создать расширение Chrome / Firefox для динамического изучения поведения.У меня есть несколько предопределенных библиотек на Java и Python для анализа результатов, которые невозможно будет программировать на простом JavaScript.

Теперь на мой вопрос: можно ли использовать сторонние библиотеки, особенно библиотеки Python или Java?как простые вызовы функций?

У меня есть смутное представление о чем-то вроде Java XPCOM или PyXPCOM для Firefox.Однако для начинающего все выглядит так страшно.Я начал делать надстройку для Firefox, но затерялся где-то в огромном API.

Я обнаружил, что программирование расширений Chrome проще, чем Firefox, но я не смог найти что-то похожее на XPCOM в Chrome.

Как я могу решить, какой выбрать?

  • Chrome - кажется легким, но я не уверен в его силе.
  • Firefox - кажется мощным, но действительно ли этоможно использовать любую библиотеку Java / Python?

Кроме того, я натолкнулся на эту ссылку, которая может быть полезна: Как кто-то использует сторонние библиотеки для включения в расширения / расширения Firefox?

Но, похоже,как это в основном говорит о C ++ и XPCOM.

Ответы [ 2 ]

3 голосов
/ 11 сентября 2011

У меня есть смутное представление о чем-то вроде Java XPCOM или PyXPCOM для Firefox. Но для начинающего все выглядит так страшно.

Я не новичок, и JavaXPCOM / PyXPCOM очень страшны (в дополнение к тому, что их почти не обслуживают). Что касается Firefox, то должно быть намного проще обернуть вашу библиотеку Java / Python в приложение и запустить ее как внешний процесс: https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIProcess. Обратите внимание, что вы не можете получить данные обратно (кроме кода выхода), поэтому приложение следует записать его в файл, который вы затем можете прочитать в своем расширении Firefox . Не очень элегантно, но имеет то преимущество, что выполнимо.

Что касается Chrome, его расширения запускаются в песочнице и использование Java или Python невозможно. Единственная опция - добавление плагина NPAPI к вашему расширению . Это двоичный код, означающий, что он может делать что угодно.

0 голосов
/ 09 сентября 2011

При написании расширений для Chrome вы ограничены JavaScript, если только вы не решите использовать NPAPI плагин , который позволяет вам делать практически все, но не рекомендуется.

Другойподход, который вы можете использовать, - это реализовать свой код Java или Python на сервере и делать запросы из JavaScript расширения chrome.

...