2012-10-22 2 views
0

다른 Firefox 확장 프로그램 (MainExtension)에 일부 기능을 추가하는 Firefox 확장 프로그램 (MyPlugin)을 작성했습니다. Mozilla Add-ons 페이지에 추가하고 싶지만 먼저 확장 프로그램을 구성하는 가장 좋은 방법을 먼저 확인해 보겠습니다.Firefox 확장 프로그램을위한 플러그인을 정의하는 올바른 방법

현재, MainExtension의 xul과 chrome.manifest의 MyPlugin의 xul이 오버레이됩니다. MyPlugin의 xul에서 태그는 MainExtension.MyPlugin을 정의하는 .js 파일과 오버레이 요소로 호출 할 수있는 모든 메소드를 호출합니다.

설정 자체가 정상입니까? 처음 플러그인을 Mozilla 애드온 페이지에 업로드하려고 시도했을 때 install.rdf의 "requires"요소가 더 이상 지원되지 않는다는 것을 발견했습니다. 나는 이것이 MainExtension이 실제로 설치되었는지 점검 할 것이라고 생각했다. MainExtension이 설치되어 있는지 확인하기 위해 플러그인에서 오류를 체크해야합니까? 지금은 chrome.manifest의 오버레이 라인이 MainExtension이 설치되어 있지 않으면 실패 할 것이고 아무 것도 일어나지 않을 것이라고 생각합니다. 기능적으로, 나는 주요 확장없이 플러그인을 설치하는 것을 계획하지 않으므로 이것은 문제가되지 않아야한다. 그러나 다른 사람들이 그것을 다운로드 할 수있는 확장 기능을 게시하고 싶기 때문에 어떤 문제도 발생시키지 않도록하고 싶다. 그들 (그리고 나는 파이어 폭스 확장 구조에 익숙하지 않다. 대부분 내가 다른 출판 된 확장 기능을보고 내 의견을 같이한다).

답변

0

내 확장 물에 대해 더 많은 연구를했고, 더 많은 문서를 온라인으로 읽었으며, 경험 많은 개발자들과 자문을 구했고, 지금 당장 나온 솔루션은 모듈을 사용하여 내 내부의 일부분을 정의하는 것입니다. 신장. 모듈을 사용하여 Firefox 용 범용 모듈에 MyPlugin 객체를 만듭니다. 그런 다음 MainExtension의 xul 오버레이에서 호출되는 스크립트를 사용하여 MainExtension의 XUL 요소와 상호 작용하는 것과 관련된 함수 만 포함하는 다른 크롬 객체 (예 : MyPluginChrome)를 만듭니다. 질문을 할 때, 필자의 플러그인을 독립적으로 만들려는 XPCOM 컴포넌트를 정의 할 필요가 있었지만 기존의 확장 기능에 대한 간단한 플러그인의 경우 과장된 것처럼 보였지만 모듈을 사용하면 플러그인을 단독으로 서게 만들 수 있습니다. 내가 일을하고 있었던 방식.

위에서 설명한 내용을 배우려면 Mozilla 개발자 네트워크 사이트의 XUL School tutorial에서 JavaScript Object Management 페이지를 사용했습니다. 이 튜토리얼은 (다른 소스에서 채택 되었기 때문에) 다소 기발한 것이지만 매우 도움이됩니다. MDN의 Building an Extension 페이지와 별개입니다. 몇 가지 오래된 웹 페이지는 Google에서 조회수가 많았지 만 XUL 학교 안내서가 가장 유익하고 유용한 것으로 나타났습니다.

관련 문제