2009-11-18 1 views
0

XUL 방법 :이 XUL 코드가 작동하고 Javascript와 동등한 이유는 무엇입니까?

<toolbar id="PersonalToolbar"> 
    <toolbarbutton 
    id="Testing-Doit-Button2" 
    class="bookmark-item pagerank" 
    tooltiptext="Do it!" 
    oncommand="testing_doit();" 
    /> 
</toolbar> 

자바 스크립트 방법 :

function createBookmarkItem() { 
    const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; 
    var item = document.createElementNS(XUL_NS, "toolbarbutton"); 
    item.setAttribute("id", "Testing-Doit-Button2"); 
    item.setAttribute("class", "bookmark-item pagerank"); 
    item.setAttribute("tooltiptext", "Do it!"); 
    item.setAttribute("oncommand", "testing_doit();"); 
    return item; 
} 
function placeBookmarkItem() { 
var toolbar = document.getElementById("PersonalToolbar"); 
var button = createBookmarkItem(); 
toolbar.appendChild(button); 
} 
placeBookmarkItem(); 

XUL의 방법은 버튼을 나타낸다. Javascript 방법은 Extension Developer 's Extension의 Javascript Shell로 가서 enumerateWindows()를 클릭하고 chrome : //browser/content/browser.xul을 클릭 한 다음 코드를 입력하고 Enter 키를 누르면 버튼이 표시됩니다. button.xul에 button.js를 포함 시키면 Javascript 방식으로 단추가 표시되지 않습니다. 왜?

+0

질문의 제목을 바꿀 수 있습니다. Javascript와 XUL의 차이점을 묻고있는 것 같습니다. – pc1oad1etter

+0

그게 1ook 1ike 1oad 문제, 1o1 –

+0

내가 여기서 인용하지 않았던 코드의 일부가 내가 여기서 인용 한 코드의 일부를 작동시키지 못했고 오류가 없었습니다. –

답변

0

여기서 인용하지 않았고 오류가있는 부분은 내가 인용 한 코드 부분에서 작동하지 않으며 오류가 없었습니다. 자세한 내용은 "I add 10 functions to a code, I don’t even call any of them, but the code stops working!"을보십시오.

+0

어쨌든 작동합니까? – lithorus

+0

다른 사람의 컴퓨터에서는 그렇습니다. 내 경우에는 그렇지 않습니다. 자세한 내용은 http://stackoverflow.com/questions/1770728/getelementbyidbookmarksbarcontent-appendchildbutton-is-interpreted-as-getel을 참조하십시오. –

+0

이제 내 컴퓨터에서 작동합니다! http://stackoverflow.com/questions/1783176/i-try-to-add-a-new-button-to-firefox-but-its-the-old-button-that-gets-added for를보십시오. 자세한 정보. –

0

placeBookmarkItem();을 배치해야합니다. 문서 onload 이벤트 내부. 문서가 제 위치에 도착하기 전에 자바 스크립트가 실행됩니다. 그렇지 않으면 <script/> 요소를 문서 끝에 </window> 요소 바로 앞에 배치하십시오.

+0

창 요소 대신 오버레이가 있습니다. –