Невозможно получить доступ к функциям NPAPI в расширении Firefox - PullRequest
0 голосов
/ 18 сентября 2011

У меня проблемы с загрузкой плагина NPAPI для расширения Firefox.То, как я это делаю сейчас, - это то, что плагин уже зарегистрирован в Windows, поэтому я загружаю элемент embed через оверлей, который вставляется в chrome и доступен через window.onload.Очевидно, элемент NPAPI загружен, но я не могу получить доступ к собственным функциям.

Вот мой main.xul:

<overlay ...>
  <window id="main-window">
    <embed type="application/x-myplugin" id="myplugin" width="300" height="300"></embed>
  </window>
</overlay>

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

Вот мои js:

window.addEventListener("load", function () {  

  var plugin = document.getElementById("myplugin");
  dump(plugin + "\n");
  dump("version: " + plugin.version + "\n");

});

Дамп:

[object XULElement]
undefined

Если такой же код встраивания был помещен в HTML-документ, подключаемый модуль.версия будет возвращать «1000».Подтверждено, что плагин NPAPI работает, поскольку я могу заставить его работать в HTML-документе и загружать его в расширение Chrome.

Есть ли что-то, что я делаю неправильно?Обратите внимание, что мне нужно загрузить плагин NPAPI внутри Chrome, а не вставлять его по требованию на страницу, так как свойства нужно будет получать из других диалоговых окон, отдельно от веб-страницы.Возможно, есть другой способ загрузить плагин NPAPI, который можно загрузить один раз за загрузку браузера, который можно вызвать из расширения Firefox.

Если это какая-либо помощь, NPAPI был построен с помощью инфраструктуры Firebreath.

Примечание: я проследовал по этой теме: ссылка и, очевидно, может загрузить плагин, но все еще не может получить доступ к каким-либо функциям.

Спасибо.

1 Ответ

1 голос
/ 18 сентября 2011

В XUL нет тега <embed>, вы хотите использовать тег HTML <embed>.Используйте пространство имен HTML для этого тега:

<embed xmlns="http://www.w3.org/1999/xhtml" ...></embed>

Дополнительная информация: https://developer.mozilla.org/en/Namespaces

...