2011-09-12 5 views
1

내 Firefox Addon의 overlay.xul에 DOM의 DOM에 액세스 할 수 있습니까? 나는 그 방법을 알 수 없다.XUL Overlay의 DOM에 액세스하는 방법

미리 감사드립니다.

+0

XPI의 웹 페이지 또는 스크립트의 스크립트에서? –

+0

@ jeffamaphone XPI. – mattsven

+0

document.getElementById()를 시도 했습니까? –

답변

3

오버레이는 적용되는 문서의 DOM과 병합되며 고유 한 DOM이 없습니다. 따라서 "오버레이"의 DOM에 액세스하지 않으면 중첩 된 문서의 DOM에 액세스 할 수 있습니다. 그리고 그것은 보통의 방식으로 진행되고 있습니다. document.getElementById()을 통해 그러나 한 가지만 고려해야합니다. 문서로드가 완료되기 전에 DOM에 액세스하지 마십시오. 다른 오버레이와 같이 여러 가지 문제가 발생할 수 있습니다. 따라서 오버레이에 스크립트가 포함 된 경우 다음을 작성하십시오.

window.addEventListener("load", function() { 
    // Window finished loading, now we can do something 
    var button = document.getElementById("my-extension-button"); 
    button.style.backgroundColor = "green"; 
}, false) 
+0

감사합니다. 오버레이에 '' 태그를 사용하는 방법을 알고 계십니까? 백그라운드에서''을 사용하고 조작하고 싶습니다. – mattsven

+0

@NeXXuuS : "일반"브라우저를 의미합니까? 그것은'gBrowser' (전역 변수)로 접근 가능합니다. 또는 자신 만의 브라우저를 추가 할 수 있습니다. 오버레이에 추가해야합니다 (오버레이를 적용 할 문서의 삽입 점을 선택하십시오). –