Выполнение скрипта Python (который считывает пользовательские данные на компьютере) в расширении Google Chrome — NPAPI

http://code.google.com/chrome/extensions/npapi.html

Я прочитал это, и совершенно запутался. Я собрал образец плагина npapi .so с сайта http://www.firebreath.org/display/documentation/Building+on+Linux

Все работало нормально (плагин установлен правильно и распознается), пока я не пошел использовать его в своем popup.html в своем распакованом расширении, которое выдало:

<embed type="application/x-sample" id="sample">
<script>
console.log((document.getElementById("sample"))().echo("asdf"));

popup.html:18Uncaught ReferenceError: NPObject удален

Из различных тестов видно, что вызов конструктора объекта плагина вызывает ошибку. Я понятия не имею, что здесь происходит.

Все, что я действительно хочу сделать, это скомпилировать файл .py с помощью Cython в .so или .dll, а затем иметь возможность вызывать его методы в моем расширении.
Кто-нибудь знает о простой способ сделать это? / Может ли кто-нибудь привести простой пример «привет, мир»?


person Kevin Li    schedule 06.07.2011    source источник


Ответы (1)


откуда у вас лишние ()? Скорее всего должно быть так:

console.log(document.getElementById("sample").echo("asdf"));

То, что вы пытались сделать, вероятно, закончилось бы попыткой вызвать метод «по умолчанию» для NPObject, который, вероятно, не существует и, таким образом, вызовет исключение.

person taxilian    schedule 06.07.2011
comment
Нет игральных костей. popup.html:18 Uncaught TypeError: Object #<HTMLEmbedElement> has no method 'echo' Я использую npFBTestPlugin.so, созданный на основе примеров, и включил его в свой manifest.json. - person Kevin Li; 07.07.2011
comment
попробуйте использовать тег объекта; встроенные теги часто не работали для меня. Если это не работает, значит, плагин не загружается. - person taxilian; 08.07.2011