在 xul 文件中引用 Firefox 附加组件的 install.rdf em:version

Reference Firefox add-on's install.rdf em:version in xul file

我有一个可用的插件。我正在尝试修复一些小问题。我注意到的一件事是一些 XUL 文件使用 install.rdf 的 em:version 的静态字符串。一个实例被打错了,在多个地方维护一个版本字符串通常让我很烦。我想要一个解决方案,以便我可以更改 em:version,并使用代码在 XUL 文件中选取该字符串以插入到 options.xul <dialogheader description="version"> 标记中。另一个 XUL 文件使用 <vbox> <text value="version">,所以我也想在那里重用相同的代码和技术。

我看过一些使用 JavaScript 访问附加版本字符串的示例,但没有任何内容解释如何从 XUL 元素的属性中引用该字符串。

您不能直接从 XUL 文件中访问该值,但需要获取带有一些 Javascript 的版本,然后使用常规 Javascript Javascript [设置 XUL 属性 and/or 文本=14=] API,所以类似于:

Cu.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID("your-addon@id", function(addon) {
  document.getElementById("version-header").setAttribute("value", addon.version);
});