изменение IID nsIDOMNSHTMLEment - PullRequest
1 голос
/ 13 апреля 2010

Я пишу расширение Firefox, которое будет совместимо с версиями Firefox 3.0 до 3.6.

Я использую указатель интерфейса nsIDOMNSHTMLElement для установки внутреннего текста элемента html. Я получаю указатель интерфейса nsIDOMNSHTMLElement, вызывая QI для nsIDOMElement

Но IID элемента nsIDOMNSHTMLElement меняется с версий Firefox 3.0 на 3.6 при изменении версии gecko.

Как я могу использовать интерфейс nsIDOMNSHTMLElement?

Как мне скомпилировать свое расширение, чтобы оно работало с вышеупомянутыми версиями Firefox.

Спасибо, Vaibhav.

1 Ответ

1 голос
/ 13 апреля 2010

https://developer.mozilla.org/en/Working_with_Multiple_Versions_of_Interfaces

По сути, при создании компонента подготовьте все версии измененных интерфейсов (например, с 3.0 и 3.6) и их IID, а затем в коде сначала попытайтесь выполнить QI по более новому IID (и используйте более новое объявление класса для интерфейса) и, если это не удастся, QI, используя старый IID (и использовать старое объявление интерфейса).

P.S. И я рекомендую вам по возможности прекратить тратить свое время и писать на JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...