2011-05-01 3 views
0

window에서 하나의 값을 수정하는 addon을 만들고 싶습니다.Firefox addon에서`window`에있는 속성을 편집하는 법?

의 예를 들어 간단한 창을 보자 :

<html> 
    <head> 
     <title></title> 
     <script> 
      window.hello = 1; 
     </script> 
    </head> 

    <body> 

    </body> 
</html> 

window.hello의 값을 수정하지 않습니다

gBrowser.addEventListener("DOMContentLoaded", 
    function (e) 
    { 
     e.originalTarget.defaultView.hello = 2; 
    }, false); 

사용. 의미는 e.originalTarget.defaultView != window입니다.

어떻게 순수 window에 액세스 할 수 있습니까?

+0

'e.originalTarget'은 해당 페이지의 문서를 참조합니다. 'e.target.defaultView.wrappedJSObject.hello = 2'을 시도하십시오. 나는 비슷한 코드를 가지고 있으며 저에게 효과적입니다. – skabbes

+0

@skabbes 덕분에 작동합니다! 응답으로 게시하고 동의 할 것입니다. – BrunoLM

답변

2

e.originalTarget은 해당 페이지의 문서 요소를 나타냅니다. 페이지의 창 요소에 액세스하려면 e.target.defaultView을 사용합니다. 그러나 모질라 보안 프로토콜의 범위를 유지하기 위해서는 wrappedJSObject 속성을 통해 윈도우 객체에 액세스해야합니다. 전반적으로 변수를 다음과 같이 변경하십시오.

e.target.defaultView.wrappedJSObject.hello = 2 
관련 문제