2015-01-28 4 views
1

HTML 코드를 처리하고 새 창에서 화면 판독기 출력을 생성하는 Mozilla Firefox 용 확장 프로그램을 작성하고 싶습니다. UI 창 (탭, 패널 및 주소 표시 줄 없음)을 만들어야하고 새 탭이나 새 브라우저 창을 여는 SDK API에서 탭 및 창 메서드 만 찾았지만 버튼이있는 사용자 정의 창이 필요합니다. .Mozilla Add-on SDK로 UI를 만드는 방법은 무엇입니까?

XUL에서 창으로 오버레이 확장을 빌드하기 시작했으나 이것은 이전 유형의 확장입니다. 그래서 재시작 할 수없는 확장 프로그램을 만들기로 결정했습니다.

SDK를 사용하여 사용자 인터페이스를 만들려면 어떻게해야합니까? SDK에서 XUL 윈도우를 사용하는 것이 좋습니다.

+0

지금까지 해보신 것은 무엇입니까? See [How to Ask] (http://stackoverflow.com/help/how-to-ask) – David

+0

XUL에 윈도우가있는 오버레이 확장을했습니다. 그런 다음 처음부터 SDK를 사용하여 새 확장 프로그램을 만들었습니다. MDN의 지침을 따르고 패널에 버튼을 만들었으며 탭이나 브라우저 창만 열 수는 있지만 필요하지 않습니다. 탭 막대, 패널 및 주소 표시 줄. 그리고 SDK를 사용하여 동일한 창을 수행 할 수있는 방법이 있는지 궁금하고, SDK 확장에서 XUL 창을 사용하는 것이 좋습니다. – Antoxic

+0

건물 인터페이스에 대한 모든 정보는 다음과 같습니다. 일반적으로 SDK는 XUL이 아닌 HTML을 사용하여 사용자 인터페이스를 지정해야합니다. – Antoxic

답변

2

나는 panel API을 사용하거나 간단히 addon XPI에서 HTML 페이지를 탭에로드하고 page-mod을 사용하는 것이 addon UI에 권장됩니다.

완전 맞춤형 레이아웃으로 별도의 창을 열려면 window/utils#open을 사용할 수 있습니다. HTML이 선호됩니다 (기본 XUL과 비슷한 동작을 얻으려면 * {unset: all} + 일부 플렉스 박스 스타일을 사용할 수 있습니다).

addon을 (메시지 전달 대신) 직접 대화하려는 경우 크롬 권한으로 열어야합니다. 그렇지 않으면 addon 코드에서 직접 액세스 할 수없는 e10을 사용하여 콘텐츠 프로세스로 이동할 수 있습니다.

+0

감사합니다. 이 솔루션은 새로운 윈도우를 엽니 다. 나는 시도했다 : var {open} = require ('sdk/window/utils'); var window = open (self.data.url ('ui/output.html')); 나는 새로운 창을 띄고 있지만 방화 광을 할 수없고 오른쪽 클릭을 할 수 없다. 창문에 방화 녀석을 열 수있는 방법이 있습니까? – Antoxic

+0

컨텍스트 메뉴에서'open()'에 추가 매개 변수를 전달해야 할 수도 있습니다. 디버깅을 위해 브라우저 도구 상자 대신 https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox를 사용하십시오. – the8472