Firefox addon 如何以编程方式从工具栏中删除XUL项

Firefox addon 如何以编程方式从工具栏中删除XUL项,firefox-addon,xul,Firefox Addon,Xul,我有一个Firefox扩展,它使用推荐的技术在“导航栏”工具栏上添加了几个按钮(请参阅)。一切正常,按钮在第一次启动时添加,用户可以添加、删除或重新组织按钮 我需要能够通过自定义对话框添加和删除这些按钮。问题是:我可以通过insertItem方法添加按钮,但是没有removietem方法 我可以通过调用removeChildDOM方法,然后从工具栏的currentset属性中删除项ID来删除该项。但是,在重新启动浏览器之前,我无法重新启用该项,因为它不会返回到调色板 //从工具栏的当前项集中删除

我有一个Firefox扩展,它使用推荐的技术在“导航栏”工具栏上添加了几个按钮(请参阅)。一切正常,按钮在第一次启动时添加,用户可以添加、删除或重新组织按钮

我需要能够通过自定义对话框添加和删除这些按钮。问题是:我可以通过
insertItem
方法添加按钮,但是没有
removietem
方法

我可以通过调用
removeChild
DOM方法,然后从工具栏的
currentset
属性中删除项ID来删除该项。但是,在重新启动浏览器之前,我无法重新启用该项,因为它不会返回到调色板

//从工具栏的当前项集中删除项的ID
//这不会删除该项
toolbar.setAttribute('currentset',newSet);
document.persist(toolbar.id,“currentset”);
//项目已删除,但不会返回到调色板
//因此,在重新启动之前不能再次添加
工具栏.removeChild(按钮);

有什么方法可以让我不仅可以通过编程方式添加项目,还可以通过编程方式从Firefox工具栏中删除项目?谢谢。

如果只更新
“currentSet”
属性而不调用
removeChild
,会发生什么?我想这应该会将按钮移到调色板上。

如果只更新
“currentSet”
属性而不调用
removeChild
,会发生什么?我想这应该会将按钮移动到调色板。

正确,只需更改
工具栏.currentSet
属性而不是属性(该属性将更新属性等)。正确,只需更改
工具栏.currentSet
属性而不是属性(该属性将更新属性以及其他内容)。