У меня есть расширение наложения Thunderbird. Он использует XBL для изменения меню Help в строке меню Thunderbird, где он заменяет оригинальные пункты меню одним «Hello, World!»пункт меню.
![Help menu in Thunderbird’s menu bar, where the original menu items have been replaced with a single](https://i.stack.imgur.com/lJTLy.png)
Поскольку XBL находится на выходе , я хотел бы обновить расширение для использования custom element .
В настоящее время привязка прикреплена так:
bindings.css
menu#helpMenu {
-moz-binding: url("./test.xml#helpMenu");
}
test. xml
<?xml version="1.0"?>
<bindings
xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<!-- Original helpMenu implementation found in omi.ja/chrome/messenger/content/messenger/mailWindowOverlay.xul -->
<binding id="helpMenu">
<content>
<xul:menupopup>
<xul:menuitem
label="Hello, World!"
oncommand="alert('Hello, World!')"
/>
</xul:menupopup>
<children />
</content>
</binding>
</bindings>
Как я могу преобразовать этот код для использования пользовательского элемента?
Я искал в Интернете, но все материалы, которые я нашел ( пример ) демонстрирует, как создать пользовательский элемент и вставить в родительский элемент.
Я не хочу этого делать. Я хочу создать пользовательский элемент и затем использовать его для замены элемента, который уже существует в интерфейсе Thunderbird (в данном случае <menupopup>
).
Может кто-нибудь мне помочь?
Полный код расширения доступен на GitHub .