我有一个Firefox扩展程序,可以使用推荐的技术在“导航栏”工具栏中添加几个按钮(请参阅https://developer.mozilla.org/en/Code_snippets/Toolbar#Adding_button_by_default)。一切正常,首次启动时添加按钮,用户可以添加,删除或重新组织按钮。
我需要能够通过自定义对话框添加和删除这些按钮。这就是问题所在:我可以通过insertItem
方法添加按钮,但没有removeItem
方法。
我可以通过调用removeChild
DOM方法删除该项,然后从工具栏的currentset
属性中删除项ID。但是在重新启动浏览器之前我无法重新启用该项,因为它不会返回到调色板。
// remove item's ID from toolbar's current set of items
// this does not remove the item
toolbar.setAttribute('currentset', newSet);
document.persist(toolbar.id, 'currentset');
// item is removed, but it doesn't return to palette
// so it can't be added againg before restart
toolbar.removeChild(button);
有什么方法我不仅可以添加,还可以以编程方式从Firefox工具栏中删除项目?感谢。
答案 0 :(得分:1)
如果您只是更新"currentSet"
媒体资源但未致电removeChild
会怎样?这应该将按钮移动到我认为的调色板。