2009-11-23 1 views
0

한 번, "bookmark-item PageRank"라는 버튼을 PersonalToolbar에 클래스로 추가하려고 시도했습니다. 이제 코드는 ...Firefox에 새 버튼을 추가하려고했지만 이전 버튼이 추가되었습니다!

function createToolbarButton() { 
    const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; 
    var anitem = document.createElementNS(XUL_NS, "toolbarbutton"); 
    anitem.setAttribute("id", "Testing-Doit-Button2"); 
    anitem.setAttribute("class", "toolbarbutton-1 chromeclass-toolbar-additional pagerank"); 
    anitem.setAttribute("label", "PageRank"); 
    anitem.setAttribute("tooltiptext", "Do it!"); 
    anitem.setAttribute("oncommand", "testing_doit();"); 
    return anitem; 
} 
function placeToolbarButton() { 
    var bar = document.getElementById("nav-bar"); 
    var newitem = createToolbarButton(); 
    bar.appendChild(newitem); 
} 
placeToolbarButton(); 

... 대신 탐색 바의 PersonalToolbar하는 클래스로 대신 "toolbarbutton-1 chromeclass - 도구 모음 - 추가 페이지 랭크 (PageRank)"의 "즐겨 찾기 항목의 페이지 랭크 (PageRank)"로 버튼을 추가!

이 문제를 해결하는 방법은 무엇입니까?

업데이트 됨! 나는 함수 이름이 여전히 오래된 이름이라는 것을 알아 채지 못했습니다! 북마크 항목이 아닌 툴바 버튼을 만들고 배치하고 싶습니다! 죄송 해요!

+2

추가 다음 코드 줄을보고 이전 동작이 여전히 남아 있는지 확인하십시오.'DIE HORRIBLY;'그렇다면 새 코드가 전혀 실행되지 않고 있습니다. 어딘가에 한걸음 한 걸 잊었 군. –

+0

코드를 분리하면 정상적으로 작동합니다. 아마도 그것은 코드의 다른 부분에있는 것입니까? 전체 샘플을 게시 할 수 있습니까? – lithorus

답변

1

이제 작동합니다! Javascript Shell에서 button.js의 다른 함수와 동일한 이름의 함수를 입력하고 hiting enter는 다른 동작을하더라도 button.js의 함수를 호출합니다.

자바 스크립트 셸 내가 사용한 익스텐션 디벨로퍼의 익스텐션을 설치 한 다음 파이어 폭스 -> 툴 -> 익스텐션 개발자 -> 자바 스크립트 쉘 -> enumerateWindows() -> chrome : //browser/content/browser.xul 이동

+0

기꺼이 스스로 해결할 수 있습니다. 솔루션으로 자신의 답변을 표시해야합니다! – Seb

+0

정말 안심입니다. 나는 현상금을 사용했다. 지금 해결할 복잡한 nsIChannel 문제가 있습니다. 나는 그 것을 사용하는 방법을 모른다! 시아 –