2010-05-14 5 views
4

내 firefox 확장에 myExt 개체가 있습니다.현재 문서/창에서 firefox 확장 변수에 액세스하는 방법

myExt = { 
request: function(){ 
    //adds dynamic script element to the current webpage's head tag 
}, 
callback: function(json) { 
    //do something with this 
} 
}; 

myExt.request는 JSON을 반환하는 서버에 동적으로 추가 된 스크립트 요소를 추가, 내가 json으로 나의 확장의 JS 코드 내에 존재 myExt.callback로 전송하고 싶습니다. 내 확장에서

//from my extension, i add a script element 
myExt.request(); 

핑 다시 웹 페이지

//from server i get the following response 
myExt.callback ({"some":"json"}) ; 

//but the window doesnt find a reference to myExt 

에 내가 웹 페이지에서 myExt 변수에 대한 참조를 어떻게해야합니까 서버를?

답변

5

Firefox 확장 프로그램은 높은 권한 (크롬)으로 자바 스크립트를 실행하고 브라우저에 대한 모든 권한을 갖습니다. 웹 페이지의 JavaScript 코드는 권한이없는 JavaScript를 실행하며 다른 것들은 권한있는 JavaScript를 직접 참조하거나 상호 작용할 수 없습니다.

일반적으로 확장 코드가 웹 사이트에서 오는 코드와 상호 작용하여 악의적 인 웹 사이트가 Chrome 권한으로 JavaScript를 실행할 수있는 보안 구멍을 열지 않도록주의해야합니다.

하면 권한과 특권이없는 자바 스크립트 사이에 데이터를 교환해야하는 경우이 코드 조각을 포함하여 여기에서 자세한 내용을 찾을 수 있습니다

:

https://developer.mozilla.org/en/Security_best_practices_in_extensions

관련 문제