>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Как собрать xpi для установки XPCOM компонента. http://forum.mozilla-russia.org/viewtopic.php?id=25724 |
oldfriend > 18-08-2008 12:10:16 |
Привет всем. Собственно проблема в том, что не знаю с чего начать. Насколько я понимаю, традиционная установка с помощью install.js уже не приветствуется или даже порой не будет работать, а нужно использовать install.rdf, и тем не менее большинство расширений (те, которыми пользуюсь я, и которые пробовал ставить) испльзуют именно такой метод. Направьте, пожалуйста, на путь истинный ... желательно со ссылками, да и к тому же чтобы для FF2 и для FF3 работало. Заранее спасибо. |
Anton > 18-08-2008 14:41:54 |
В xpi-архиве должен быть каталог components, в нём - xpt-файл компонента и файл реализации - js, dll, so. |
oldfriend > 18-08-2008 14:44:14 |
Anton, и все? так просто? |
Anton > 18-08-2008 14:51:14 |
oldfriend p.s. Вот, в ColorZilla, например, в components: ColorZilla.dll, ColorZilla.dll.linux, ColorZilla.dll.mac, ColorZilla.xpt |
oldfriend > 18-08-2008 18:51:32 |
Все бы хорошо, да вот только как заставить мой XPCOM компонент вызываться из той папки, куда его установили? Дело в том, что все примеры создания XPCOM компонент оперируют с папкой ~\firefox\components. Да и в самом С++ коде я пишу: а потом из javascript'a вызываю: Как же его правильно вызывать и моего профайла в браузере? Что писать в С++ и что в js? |
oldfriend > 19-08-2008 12:20:28 |
Неужели никто о таком не слышал никогда, разработчики? Или форумы совсем бесполезны? Или это просто лето?.. |
Shutnik > 19-08-2008 13:26:32 |
с XPCOM работает очень мало разработчиков |
oldfriend > 19-08-2008 13:28:41 |
именно этим и занимаюсь уже последние 2 дня ... |
oldfriend > 19-08-2008 14:55:06 |
А все оказалось проще пареной репы. Главное, чтобы в С++ #define MY_APP_CONTRACTID "@mozilla.org/MyApp;1"и в javascript const cid = "@mozilla.org/MyApp;1"; Всем спасибо за помощь. Жаль слова Anton'a до меня поздно долетели. |