추가 기능 SDK를 사용하여 Firefox 확장 프로그램을 만들고 있습니다. 여러 가지 이유로 (주로 simple-prefs 모듈의 기능이 부족함) XUL 창을 생성하고 window/utils를 사용하여 포함시켜야했습니다. 이 창은 올바르게 표시되고 정확하게 수행해야합니다.Firefox XPCOM 및 추가 기능 SDK 통신
제 문제는 내 XUL 창에 포함 된 스크립트 파일에서 내 main.js
에있는 함수를 호출해야한다는 것입니다. 같은 네임 스페이스에 존재하지 않으므로 내 기능에 액세스하는 방법을 모르겠습니다. 메시지 전달을 사용하게되어 기쁩니다. 그러나 XPCOM에 포함 된 스크립트에서는 port
기능을 사용할 수 있다고 생각하지 않습니다.
콜백 (callback)을 설정해야한다고 생각하지만, 어떻게해야할지 모르겠습니다.
- package.json
- chrome.manifest (to allow me to open a XUL window)
- lib
- main.js
- chrome
- content
- window.xul
- script.js
: 나는 내 자신의 XPCOM 컴포넌트를 만들기로 보았다하지만 내가 참고로
the XUL Migration Guide
에 따르면, 애드온 SDK와 함께 XPCOM 컴포넌트를 등록 할 수 있지 않다 보인다, 여기 내 (약칭 함) 폴더 구조
main.js
의 일부 코드를 script.js
의 일부 코드에서 호출하려고합니다. 창은 main.js에서 생성됩니다 (예 :
). 누구든지 아이디어가 있습니까?
편집 : 내가 함수를 호출 할 때 변경의 원인이 다음 main.js
의 환경 변화를보고함으로써이 문제를 해결받을 수 있지만, 그 환경 설정 시스템의 거대한 남용 나를 친다. 하나 있다면 올바른 방법으로하고 싶습니다.