2012-05-17 58 views
1

我有一個Firefox擴展,它使用推薦的技術將幾個按鈕添加到「導航欄」工具欄中(請參閱https://developer.mozilla.org/en/Code_snippets/Toolbar#Adding_button_by_default)。一切工作正常,第一次啓動時添加按鈕,用戶可以添加,刪除或重新組織按鈕。如何以編程方式從工具欄中刪除XUL項目

我需要能夠通過自定義對話框添加和刪除這些按鈕。這裏的問題是:我可以通過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工具編程?謝謝。

回答

1

如果您只更新"currentSet"屬性並且不要求removeChild會發生什麼情況?這應該將按鈕移動到我認爲的調色板上。

+2

正確,只有'toolbar.currentSet'屬性應該被改變而不是屬性(屬性會更新其他屬性)。 –

+0

謝謝你,弗拉基米爾。設置屬性的作品。 – Fczbkk

相關問題