Как отследить загрузку/инициализацию расширения которое встраивается в toolbarpalette.
Это такое расширение которое после установки нужно еще перетащить на панель.

Дело в том что сразу после установки расширения когда его еще пользователь не добавил на панель, скрипты выполняются но DOM-элементы расширения не доступны.

Вот нужно запустить скрипты на выполнение только когда расширение попадет на панель.

Вот само расширение (я привожу малую часть):

Выделить код

Код:

<?xml version="1.0" encoding="utf-8"?>

<?xml-stylesheet href="chrome://pam/skin/overlay.css" type="text/css"?>

<overlay id="pam-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <script type="application/javascript;version=1.8" src="scripts/utils.js"></script>
    <script type="application/javascript;version=1.8" src="scripts/overlay.js"></script>

    <toolbarpalette id="BrowserToolbarPalette">
        <toolbaritem id="pam-toolbaritem" class="chromeclass-toolbar-additional" removable="true" title="Proxy Account Manager">
            <toolbarbutton type="menu"
                           id="pam-toolbarbutton"
                           class="toolbarbutton-1 pam-green"
                           label="Proxy Account Manager" tooltiptext="Открыть меню Proxy Account Manager">

            </toolbarbutton>
        </toolbaritem>
    </toolbarpalette>

</overlay>
Magneto пишет

но DOM-элементы расширения не доступны

Не совсем, <toolbarpalette> при загрузке окна удаляется из документа, но у <toolbox>'а остается ссылка на его (свойство toolbox.palette), так что можно сделать что-то вроде такого.

Еще можно обрабатывать событие aftercustomization.