да. уже сделал с помощью абсолютного путя, доставаемого через IExtensionManager и IInstallLocation.
ок, сам компонент регистрируется и работает.
что мне необходимо сделать, чтобы third party dll, который в компоненте подгружается через LoadLibrary() оказался в том месте, в котором его найдет ff3?
в profiles/xxx/extensions/zzz/components/ он его не находит.
спасибо.
Здравствуйте,
Подскажите, как в XPI добавить XPCOM и DLL, которую использует этот XPCOM, чтобы при установке зарегистрировался XPCOM, а DLL стала доступна XPCOM'у.
Спасибо.
dude, это совсем не то что я просил...
я хочу из javascript своего расширения для thunderbird открыть браузер и скормить ему некий url.
найденные примеры
http://mesh.typepad.com/blog/2004/12/opening_an_url_.html
http://www.xulplanet.com/references/xpcomref/comps/c_messenger1.html (see comments)
не работают.
поиск по браузер по умолчанию ответа не дал.
как открыть url в default браузере из thunderbird.
найденые примеры не работают, видимо при переходе 1.0.* -> 1.5.* все поменялось.
спасибо.
все это я читал, но вышеуказанный contents.rdf, положенный в chrome/content
не дает ожидаемого результата для overlayев.
подозреваю, что может быть что-то не то происходит при установке, потому-что в
c:\Program Files\mozilla.org\Mozilla\chrome\overlayinfo\messenger\content\overlays.rdf
про мой extension ничего нет, а в
c:\Program Files\mozilla.org\Mozilla\chrome\overlayinfo\browser\content\overlays.rdf
и
c:\Program Files\mozilla.org\Mozilla\chrome\overlayinfo\navigator\content\overlays.rdf
есть.
при установке с помощью install.js должен ли я заботиться об удалении старых файлов перед копированием новых?
или все автоматом обновится?
у меня не получается сделать overlay для messenger в mozilla suite.
хотя id вроде бы такие же каа и в ff/tb
<RDF:Seq about="urn:mozilla:overlays"> <RDF:li resource="chrome://navigator/content/navigator.xul"/> <RDF:li resource="chrome://messenger/content/addressbook.xul"/> <RDF:li resource="chrome://messenger/content/messenger.xul"/> </RDF:Seq> <RDF:Seq about="chrome://navigator/content/navigator.xul"> <RDF:li>chrome://extension/content/firefox/overlay.xul</RDF:li> </RDF:Seq> <RDF:Seq about="chrome://messenger/content/addressbook.xul"> <RDF:li>chrome://extension/content/thunderbird/overlay.xul</RDF:li> </RDF:Seq> <RDF:Seq about="chrome://messenger/content/messenger.xul"> <RDF:li>chrome://extension/content/thunderbird/overlay.xul</RDF:li> </RDF:Seq>
еще, есть ли способ помочь в разработке extension для mozzila suite аналогичный описанному тут:
http://kb.mozillazine.org/Setting_up_extension_development_environment
может быть
"start url" если это win.
прошу перечислить, что нужно учитывать, чтобы extension одновременно работал и в firefox/thunderbird и в mozilla suite.
что я уже просек:
1. везде надо добавлять contents.rdf
2. install.js вместо install.rdf
какой аналог chrome.manifest для mozilla extension?
и все таки, как можно узнать, что contact в addressbook был изменен?
уже довольно долго точпусь на месте.
Unghost
спасибо.
да, работает.
но только наполовину.
всмысле в ff работает, а в tb нет.
[code]<?xml version="1.0"?>
<r:RDF xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/2004/em-rdf#">
<r:Description about="urn:mozilla:extension:extensionname@organization.tld>
<updates>
<r:Seq>
<r:li resource="urn:mozilla:extension:extensionname@organization.tld:0.4" />
</r:Seq>
</updates>
</r:Description>
<r:Description about="urn:mozilla:extension:extensionname@organization.tld:0.4">
<version>0.4</version>
<!-- firefox -->
<targetApplication>
<r:Description>
<id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id>
<minVersion>1.5</minVersion>
<maxVersion>1.5.0.*</maxVersion>
<updateLink>http://link/to/my.xpi</updateLink>
</r:Description>
</targetApplication>
<!-- thunderbird -->
<targetApplication>
<r:Description>
<id>{3550f703-e582-4d05-9a08-4
в догонку.
у меня в thunderbird не работает venkman. 0.9.86
это нормально?
если да, то есть ли замена?
мне кажется, ты не понял вопрос.
у меня id в виде "extensionname@organization.tld", а не "{GUID}".
autoupdate с "{GUID}" работает, с "extensionname@organization.tld", нет. а хочется.
виноват, проглядел.
попробую еще раз.
а мне вообще кажется, что лучше держать котлеты отдельно, а мух отдельно.
я бы стал искать тут
http://xulplanet.com/references/xpcomref/group_Files.html
вот тут написано, что неплохо бы использовать id в виде extensionname@organization.tld.
а вот здесь указано как использовать id в update manifest.
но, если я использую новый формат id и пишу
<RDF:Description about="urn:mozilla:extension:extensionname@organization.tld">
то обновления не работают.
можно ли с этим бороться, или это проблема мозилы, и придется пока использовать старый формат id?
да, я был не прав.
у меня тоже такой фокус не проходит, просто показалось/не туда посмотрел.
в chrome://messenger/content/addressbook/abCardOverlay.js" есть методы:
RegisterSaveListener(func) и NotifySaveListeners()
Я хочу включить свою функцию в список слушателей, но это у меня не получилось.
Подскажите как это надо делать правильно.
А лучше, конечно не на диалог этот, а прямо как в subj, подписаться на событие "один из vCard в адресбуке изменился."
спасибо.
сделал с помощью properties.
но у меня javascript не сидел в xul, он там был только объявлен.
посмотрю, но
дает желаемый результат, и мне не ясно, почему при конкатенации, должно быть иначе.
вопрос, можно ли склеить строку из entity из javascript.
в xul получаетсято что хочется, а из js получаются склееные имена entit'ей.
xul:
<menuitem id="someID" label="&ent1; &ent2;" />
js:
document.getElementById( "someID" ).setAttribute( "label", "&ent1;" + " " + "&ent2;" );
если нельзя, то как быть с локализацией?
спасибо.
немного похожая задача.
в thunderbird в addressbook хочется добавить кнопку напротив каждого телефона.
не очень понятно, как управлять их видимостью, т.к. неясно как приделать event handler к смене текущей карточке.
overlay xul:
[code]<overlay>
<vbox id="cvbPhone">
<description class="CardViewText" id="cvPhWork" removeelement="true" />
<description class="CardViewText" id="cvPhHome" removeelement="true" />
<description class="CardViewText" id="cvPhFax" removeelement="true" />
<description class="CardViewText" id="cvPhCellular" removeelement="true" />
<description class="CardViewText" id="cvPhPager" removeelement="true" />
<vbox id="my_id">
<hbox align="center">
<vbox flex="1">
<description class="CardViewText" id="cvPhWork" />
</vbox>
<vbox pack="end">
<button id="cvPhWork-button"
label="call"
oncommand="callCall( 'cvPhWork' );"
/>
</vbox>
</hbox>