Firefox: динамическое построение XUL? - PullRequest
0 голосов
/ 18 мая 2011

Эй!
Это то, что я уже сделал, и это прекрасно работает:
Загрузите файл XML с доменами, которые запускает браузер, когда пользователь находится на одном из этих сайты подают предупреждение, приветствуя его на этом конкретном сайте.

Да, ничего особенного, но это интересный учебный проект:)
и это мой первый аддон, все еще очень многому учусь.

Теперь я хочу показать пользователю список доменов с флажком сбоку ... будут проверены все домены, но он может снять любой домен, и я не буду показывать предупреждение для этого домена. 1008 *

Как мне создать эту динамическую страницу с флажками? Полностью смущен.

ПОЖАЛУЙСТА, ПОМОГИТЕ!

Спасибо!

1 Ответ

2 голосов
/ 18 мая 2011

Вы не упомянули, где отображается ваш пользовательский интерфейс.Если вы создаете пользовательский интерфейс на основе веб-страницы HTML, вы можете использовать те же методы, что и на любой веб-странице, для создания пользовательского интерфейса - JS и DOM.Поскольку ваша веб-страница загружается из надстройки, у вас есть возможность использовать более высокие привилегии кода и не быть изолированной, как обычная веб-страница.

Если вы размещаете свой интерфейс в самом Firefox Chrome, выскорее всего, с использованием XUL, а не HTML.Тем не менее, вы все еще используете JS и DOM при создании пользовательского интерфейса с использованием XUL.Обратитесь к справочнику и руководству по XUL по MDC для получения информации о доступных типах элементов пользовательского интерфейса:

https://developer.mozilla.org/en/XUL_Referencehttps://developer.mozilla.org/en/XUL_Tutorial

Поскольку ваш код пользовательского интерфейса и код проверки домена находятся в двух разных областях, вам потребуется способ поделиться состоянием.Таким образом, код проверки домена будет знать, показывать или нет предупреждение для данного домена.Сохранение пользовательского интерфейса в основном пользовательском интерфейсе Firefox XUL делает это простым - код проверки домена и код пользовательского интерфейса находятся в одной области действия.

Если ваш пользовательский интерфейс находится на веб-странице Chrome, вы должны иметь доступ кглавное окно браузера (где живет код проверки домена) и обновление структуры данных.Вот фрагмент кода для доступа к внешнему окну Chrome с привилегированной веб-страницы:

https://developer.mozilla.org/en/Working_with_windows_in_chrome_code#Accessing_the_elements_of_the_top-level_document_from_a_child_window

Надеюсь, это поможет вам начать работу.

...