Всем привет!

Хочу перехватывать навигацию 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 надо в них?

Во-первых, копирую свою dll в папку components

Кажется, рядом с *.dll должен быть скомпилированный в *.xpt файл описания интерфейса.

На самом деле выше описанные проблемы я уже решил. Там я что-то не правильно делал. Теперь появилась другая - как, имея интерфейс nsIComponentManager, получить nsIWebBrowser?

Во-первых, копирую свою dll в папку components, запускаю regxpcom.exe - никакого результата и никаких сообщений об ошибках. Файлы xpti.dat и compreg.dat не появляются. Вопрос: как зарегистрировать XPCOM компонент в виде одной dll?

Такая же проблема, не могу зарегистрировать файл. В xpti.dat информация появлется, в compreg.dat нет
regxpcom запускаю так

regxpcom.exe -x "C:\program files\mozilla firefox\components"

Но программа ничего не выводит при этом.

если запускаю с параметром -а, выводит оишбку