【发布时间】:2019-10-13 08:59:13
【问题描述】:
我有一个覆盖式 Thunderbird 扩展。它使用 XBL 来改变 Thunderbird 菜单栏中的 Help 菜单,用一个“Hello, World!”替换原来的菜单项。菜单项。
作为XBL is on its way out,我想更新扩展程序以使用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>
如何将此代码转换为使用自定义元素?
我在网上搜索过,但我找到的所有材料 (example) 都演示了如何创建自定义元素并将其插入到父元素中。
我不想这样做。我想创建一个自定义元素,然后用它替换 Thunderbird 界面中已经存在的元素(在本例中为<menupopup>)。
谁能帮帮我?
扩展程序的完整代码可在GitHub 上获得。
【问题讨论】:
标签: javascript custom-element thunderbird-addon xbl