Разработка аддона для мобильного 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);