【发布时间】:2011-06-03 08:39:41
【问题描述】:
我正在开发一个 Firefox 扩展。我需要在工具菜单和上下文菜单中显示一个菜单 X。工具菜单项和上下文菜单项在同一个文件中定义,但菜单 X 在另一个文件中。
由于我通过 id 重复使用菜单 X,因此只有最后一次使用它是有效的。如何在同一个文件中多次重复使用它而不会产生冗余?
【问题讨论】:
标签: firefox-addon xul
我正在开发一个 Firefox 扩展。我需要在工具菜单和上下文菜单中显示一个菜单 X。工具菜单项和上下文菜单项在同一个文件中定义,但菜单 X 在另一个文件中。
由于我通过 id 重复使用菜单 X,因此只有最后一次使用它是有效的。如何在同一个文件中多次重复使用它而不会产生冗余?
【问题讨论】:
标签: firefox-addon xul
可以使用XBL来完成。
【讨论】:
我也没有找到好的解决方案。该方法是只在叠加层中定义一次菜单,然后将其克隆到“加载”事件处理程序中。然后,您可以在第二个位置插入克隆。您必须小心,因为 ID 属性必须保持唯一 - 所以如果您的菜单使用 ID 属性,您将不得不另外重写它们。丑,我知道。
【讨论】:
根据定义,ID 是唯一的。这意味着您不能共享菜单项,但可以共享调用操作时执行的代码。实现此目的的一种方法是使用commands。
【讨论】: