도구 모음 단추가 팔레트에서 숨겨 지거나 (사용자가 아직 추가하지 않았거나 제거한 경우) 여러 방법으로 도구 모음 단추를 "수정"할 수 있습니다.
document.getElementById
결과를 얻지 못하면 수동으로 팔레트를 검색하여 DOM 노드에 대한 참조를 수동으로 검색 할 수 있습니다. 이것은 어쨌든 browser.xul에서 작동합니다. 일부 코드 (사용하고있는 코드에서 단순화되었지만 일부 정리 후에는 테스트되지 않음). 대신 <broadcaster>
(or <command>
)에 "방송"다른 모든 nodesobserving 방송사에 소요되는 속성 세트를 사용할 수 있습니다 <toolbox>.palette
function findToolbarButtonAnyway(id) {
let tb = document.getElementById(id);
if (tb) {
return tb;
}
let palette = $("navigator-toolbox").palette;
for (let c = palette.firstChild; c; c = c.nextSibling) {
if (c.id == id) {
return c;
}
}
return null; // not found
}
이 사용합니다. 예 : 속성을 설정하고 적절한 CSS 규칙을 사용하여 적절한 아이콘 또는 기타를 선택하십시오. 이 솔루션은 더 깨끗하지만 시간을내어 파악할 수 있습니다.
"초기화"이벤트 란 무엇을 의미합니까? 툴바 버튼은 DOM이 초기화 되 자마자 바로 나타납니다. 사용자가 툴바에 툴팁을 추가하지 않았을 때 팔레트에 숨겨져 있기 때문에 "일반"DOM API로 액세스 할 수 없습니다. . toolbarbutton DOM 요소에 대한 참조를 항상 얻으려고하십니까? 또는 툴바에 있거나 팔레트에 보이지 않는 툴바 버튼의 일부 속성을 업데이트하는 방법은 무엇입니까? – nmaier
아 보이지 않는 툴바 버튼에 대한 참조를 얻을 수 있다는 것을 알지 못했습니다. DOM 참조를 얻으려면 어떻게해야할까요? – simonzack