Прикрепление элементов xul к веб-странице (разработка дополнения Firefox)

#javascript #firefox #firefox-addon #xul

#javascript #firefox #firefox-дополнение #xul

Вопрос:

Я учусь создавать дополнения для Firefox, и у меня есть вопрос о xul. Я хочу знать, возможно ли добавлять элементы xul на все любые веб-страницы, на которые я захожу (не на вкладку / инструмент / строку меню).

Я хочу иметь возможность размещать что-то вроде div (box) на веб-странице отдельно от dom страницы (потому что я хотел бы, чтобы оно появлялось там, даже если я меняю веб-страницы). Это не всплывающее окно (я не хочу, чтобы оно было в отдельном окне), а элемент на странице. Я знаю, что могу загрузить JavaScript для редактирования страницы (аналогично пользовательским скриптам Greasemonkey), но я бы хотел, чтобы он не загружался каждый раз, когда я перехожу на новую страницу.

Если вам нужна дополнительная информация, я могу предоставить еще кое-что. Заранее спасибо.

Комментарии:

1. Насколько я знаю, каждый раз, когда вы переходите на новую страницу, DOM для документа этого объекта gBrowser заменяется / загружается повторно. Возможно, вам придется вставлять его при каждом новом запросе / загрузке страницы.

2. Но поскольку Firefox может отображать XUL так же, как он отображает HMTML, то внедрение XUL на страницу не должно быть таким сложным.

3. Вы знаете, как я могу это сделать (возможно, учебное пособие)? Также, чтобы уточнить, я хотел бы поместить элементы XUL на HTML-страницу (не на страницу chrome: // myextension / chrome /stuff.xul).

4. Обратите внимание, что начиная с Firefox 4, XUL на веб-страницах больше не поддерживается. То, что вы делаете, для меня больше похоже на панель.

Ответ №1:

Нет, это невозможно. XUL — это язык, созданный Mozilla для создания приложения, в котором размещен ваш HTML-код:

Mozilla имеет настраиваемый, загружаемый Chrome, что означает, что расположение и даже наличие или отсутствие элементов управления в главном окне не встроено в приложение, а загружается из отдельного описания пользовательского интерфейса. Фактически, большинство окон Mozilla (и диалоговых окон) будут описаны с использованием этого механизма. XUL (произносится «zool», как будто это написание кому-то помогает, и сокращенно от «Язык пользовательского интерфейса XML») — это наше название языка, на котором построены эти описания пользовательского интерфейса.

Window chrome отображается и управляется тем же механизмом верстки, который управляет HTML-контентом в браузере. Описания пользовательского интерфейса, таким образом, очень похожи на HTML 4. XUL — это приложение XML. На самом деле, это просто XML с определенным значением, определенным для нескольких типов элементов, и в который может быть разбит HTML.

(исходный код)

Он используется для создания приложений, содержащих веб-браузеры, и является расширяемым, что позволяет ему включать HTML-код в приложение xul, но сделать обратное невозможно, поскольку язык HTML не распознает XUL-код.

Проще говоря, ваш HTML-код находится в HTML-браузере, встроенном в приложение, закодированное на XUL (firefox). Два разных языка для двух разных целей. Если вы хотите, чтобы в вашем HTML были элементы, подобные XUL, вам придется использовать css для их создания, но вы не можете встроить XUL в HTML.

Комментарии:

1. И это никогда не было возможно сделать… в Firefox 4 появилась возможность открывать удаленное содержимое XUL. developer.mozilla.org/en/Using_Remote_XUL