2010-10-22 3 views
0

Я хочу установить атрибуты label и прослушиватели событий для toolbaritem, когда он используется. Потому что, хотя я добавляю расширение toolbaritem до <toolbarpalette id="BrowserToolbarPalette">, он не найден document.getElementById, если он не используется. На данный момент у меня есть DOMNodeInserted прослушиватели событий на панели навигации и дополнительной панели, которая устанавливает мои атрибуты toolbaritem, но мне интересно, есть ли лучший способ?Каков наилучший способ уведомления при использовании инструментальной панели расширения?

ответ

-2

Посмотрите на Broadcasters and Observers. Я думаю, это поможет вам.

+0

Я просто прочитал его, он не кажется полезным. Он, как представляется, описывает, как вы можете передавать изменения в несколько элементов в документе, но я хочу знать, когда панель инструментов добавлена ​​в browser.xul, что кажется мне совершенно другой проблемой. – erikvold

+0

@Erik Vold: Какие слушатели вы хотите добавить к кнопке? Вы сказали *, который устанавливает мои атрибуты toolbaritem *. Вместо этого вы можете использовать атрибуты и обработчики событий в вещателе и позволить панели инструментов наблюдать за ними. –

+0

Спасибо Феликс, теперь это лучший способ решить мою проблему, но не отвечает на мой вопрос. – erikvold

-1

Вы слишком рано звоните document.getElementById, возможно, до того, как Firefox добавит элемент на панель инструментов? Если это так, вы можете переместить свой код на функцию, которая зарегистрирована для вызова в событии "load" в главном окне браузера. Это должно гарантировать, что браузер, включая панель инструментов, был успешно создан к моменту запуска вашего кода.

+0

Вызов document.getElementById находится в прослушивателе событий «load», элемент dne и это выглядит потому, что пользователю нужно настроить панель инструментов и добавить ее. – erikvold

 Смежные вопросы

  • Нет связанных вопросов^_^