2012-05-17 2 views
1

나는 추천 된 기술 (https://developer.mozilla.org/en/Code_snippets/Toolbar#Adding_button_by_default 참조)을 사용하여 "탐색 모음"도구 모음에 몇 개의 단추를 추가하는 Firefox 확장 기능을 가지고 있습니다. 모든 것이 잘 작동하고 버튼이 처음 시작될 때 추가되며 사용자는 버튼을 추가, 제거 또는 재구성 할 수 있습니다.프로그래밍 방식으로 도구 모음에서 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); 

추가 할 수는 없지만 프로그램 도구 모음에서 항목을 제거하는 방법이 있습니까? 감사.

답변

1

방금 ​​"currentSet" 속성을 업데이트하고 removeChild을 호출하지 않으면 어떻게 될까요? 그 버튼을 팔레트로 옮겨야한다고 생각합니다.

+2

올바른 대신 'toolbar.currentSet' 속성을 속성 대신 변경해야합니다 (속성은 다른 속성과 비교하여 속성을 업데이트합니다). –

+0

감사합니다, 블라디미르. 속성 설정은 작동합니다. – Fczbkk

관련 문제