Разработка аддона для мобильного Firefox: window.BrowserApp.deck is null

Я пытаюсь написать простой небольшой аддон для Firefox Mobile, начиная с этого скелета. В конечном счете, я хотел бы запустить немного кода для каждой новой загруженной страницы, что, по-видимому, лучше всего достигается путем добавления прослушивателя "DOMContentLoaded" для каждой новой вкладки, который срабатывает, когда эта вкладка загружает новую страницу. Для этого мне нужно обнаружить новые вкладки, что, в свою очередь, делается путем добавления слушателя "TabOpen" в колоду BrowserApp.

Проблема: при запуске (но не при установке в уже загруженный сеанс), window.BrowserApp.deck является нулевым для единственного окна. Документация, которой мало, кажется, не предполагает, что это возможно.

Чтобы проверить это самостоятельно, загрузите скелет, указанный выше, и добавьте

window.NativeWindow.toast.show(window.BrowserApp, "long");

ниже строки 48 файла bootstrap.js, затем соберите, установите на Mobile Firefox и перезапустите. Вы увидите тост, сообщающий о свойствах BrowserApp, включая "deck: null". (В настоящее время я также размещаю копию расширения, которое вы получите на моем сервере, который будет гораздо быстрее тестировать: просто укажите в браузере Mobile Firefox эту ссылку, установите и перезапустите.)

Что дает? Я что-то не так понял? Есть ли лучший способ сделать то, что я пытаюсь сделать, который не столкнется с этой проблемой? Где-нибудь есть более обширная документация?

1 ответ

Решение

Ждать UIReady событие.

window.addEventListener("UIReady", function(){your code}, false);
Другие вопросы по тегам