>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Несколько вопросов по XPCOM расширению для FF http://forum.mozilla-russia.org/viewtopic.php?id=15354 |
semav > 05-02-2007 13:34:38 |
Всем привет! Хочу перехватывать навигацию FF в своём расширении (типа BeforeNavigate2 в IE). Раньше с этим не сталкивался. Начал делать компонент как написано здесь http://www.mozilla.org/projects/xpcom/b … okTOC.html. Добавил ему интерфей nsIURIContentListener, чтобы в методе OnStartURIOpen перехватывать URL. Никахих других интерфейсов не добавлял(кроме nsISupports). Но, естественно, ничего не работает: Во-первых, копирую свою dll в папку components, запускаю regxpcom.exe - никакого результата и никаких сообщений об ошибках. Файлы xpti.dat и compreg.dat не появляются. Вопрос: как зарегистрировать XPCOM компонент в виде одной dll? Во-вторых, никакой активности моего компонента в Firefox я тоже не заметил, как зделать чтобы Firefox вызывал методы nsIURIContentListener(напрямую, быз всяких JavaScript'ов)? Здесь http://developer.mozilla.org/en/docs/Mo … ow_do_I... написано: Implement the nsIURIContentListener interface, and register it with the appropriate web browser object via the nsIWebBrowser::parentURIContentListener attribute. Как реализовывать методы nsIURIContentListener(сейчас они просто возвращают NS_ERROR_NOT_IMPLEMENTED)? И в каком месте (методе) необходимо зарегистрировать мой nsIURIContentListener через parentURIContentListener? Какие методы вызываются при инициализации XPCOM компонента(типа SetSite в IE), кроме всяких NSGetModule, AddRef... ? Наверное, регистрировать nsIURIContentListener надо в них? |
Anton > 05-02-2007 18:17:00 |
Кажется, рядом с *.dll должен быть скомпилированный в *.xpt файл описания интерфейса. |
semav > 05-02-2007 18:40:42 |
На самом деле выше описанные проблемы я уже решил. Там я что-то не правильно делал. Теперь появилась другая - как, имея интерфейс nsIComponentManager, получить nsIWebBrowser? |
Luciefer > 29-04-2007 13:14:00 |
Такая же проблема, не могу зарегистрировать файл. В xpti.dat информация появлется, в compreg.dat нет
Но программа ничего не выводит при этом. если запускаю с параметром -а, выводит оишбку |