XUL: многократное повторное использование оверлея в одном файле? - PullRequest
2 голосов
/ 03 июня 2011

Я разрабатываю расширение для Firefox. Есть меню X, которое мне нужно показать как в меню «Инструменты», так и в контекстном меню. Пункт меню «Инструменты» и пункт «Контекстное меню» определены в одном файле, а меню X - в другом файле.

Поскольку я повторно использую меню X по id, эффективно только последнее его использование. Как я могу использовать его несколько раз в одном файле без избыточности ?

Ответы [ 3 ]

1 голос
/ 03 июня 2011

Это можно сделать, используя XBL .

1 голос
/ 06 июня 2011

Я тоже не нашел хорошего решения. Подход скорее состоит в том, чтобы определить меню в оверлее только один раз, а затем клонировать его в свой обработчик событий «загрузки». Затем вы можете вставить клон во втором месте. Вы должны быть осторожны, потому что атрибуты идентификатора должны оставаться уникальными - поэтому, если ваше меню использует атрибуты идентификатора, вам придется дополнительно переписать их. Урод, я знаю.

0 голосов
/ 03 июня 2011

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

...