mozilla

리비전 비교

Building an Extension

Change Revisions

리비전 112614:

리비전 112614 fscholz

리비전 112615:

리비전 112615 Gilchris

제목:
Building an Extension
Building an Extension
슬러그:
Building_an_Extension
Building_an_Extension
태그:
Extensions, Add-ons
Extensions, Add-ons
내용:

리비전 (112614):
리비전 (112615):
n7    <h4 name=".EB.A8.B8.EB.A6.AC.EB.A7.90">n7    <h4 id=".EB.A8.B8.EB.A6.AC.EB.A7.90" name=".EB.A8.B8.EB.A6.AC
 >.EB.A7.90">
8      머리말8      시작하기
9    </h4>
10    <p>
11      <a class=" link-https" href="https://addons.mozilla.org/en-
 >US/developers/tools/builder" title="https://addons.mozilla.org/en
 >-US/developers/tools/builder">확장기능 마법사</a>를 이용해서 웹으로 간단한 확장기능을 만들
 > 수 있습니다.
12    </p>
13    <p>
14      MozillaZine Knowledge Base에는 확장기능 마법사를 이용해 만들 수 있는 것과 비슷한 <
 >a class=" external" href="http://mozilla.doslash.org/stuff/hellow
 >orld.zip" title="http://mozilla.doslash.org/stuff/helloworld.zip"
 >>Hello World 확장기능</a>에 대해 한 줄 한 줄 설명한 <a class=" external" href="
 >http://kb.mozillazine.org/Getting_started_with_extension_developm
 >ent" title="http://kb.mozillazine.org/Getting_started_with_extens
 >ion_development">다른 글</a>도 있습니다.
15    </p>
16    <h4 id=".EB.A8.B8.EB.A6.AC.EB.A7.90" name=".EB.A8.B8.EB.A6.AC
 >.EB.A7.90">
17      소개
n15        <strong>주의</strong> 이 입문서는 Firefox 1.5나 2.0용 확장기능 만들기에 관한n24        <strong>주의</strong> 이 입문서는 Firefox 1.5 이상 버전의 확장기능 만들기에 관
> 내용입니다. 이전 버전 Firefox용 확장기능 만들기를 다루는 입문서도 있습니다.>한 내용입니다. 이전 버전 Firefox용 확장기능 만들기를 다루는 입문서도 있습니다.
25      </p>
26      <p>
27        썬더버드용 확장기능을 만드는 방법에 대한 입문서는 <a href="/en/Extensions/Thund
 >erbird/Building_a_Thunderbird_extension" title="en/Extensions/Thu
 >nderbird/Building a Thunderbird extension">Building a Thunderbird
 > extension</a>에서 보실 수 있습니다.
n18    <h4 name=".EA.B0.9C.EB.B0.9C_.ED.99.98.EA.B2.BD_.EA.B5.AC.EC.n30    <h4 id=".EA.B0.9C.EB.B0.9C_.ED.99.98.EA.B2.BD_.EA.B5.AC.EC.B6
>B6.95.ED.95.98.EA.B8.B0">>.95.ED.95.98.EA.B8.B0" name=".EA.B0.9C.EB.B0.9C_.ED.99.98.EA.B2.B
 >D_.EA.B5.AC.EC.B6.95.ED.95.98.EA.B8.B0">
n22      확장기능은 파일 확장자가 <code>xpi</code> (<em>“zippy”로 소리 냄</em>)인 ZIn34      확장기능은 파일 확장자가 <code>xpi</code> (<em>“zippy”로 소리 냄</em>)인 ZI
>P 파일이나 묶음(<a href="/ko/Bundles" title="ko/Bundles">Bundles</a>)으로>P 파일이나 묶음(<a href="/ko/Bundles" title="ko/Bundles">Bundles</a>)으로
> 꾸려 배포됩니다. XPI 파일 안 content의 짜임새(layout)는 아래와 같습니다.> 배포됩니다.
35    </p>
36    <p>
37      XPI 파일 안 구조의 예 :
n39      이로 인해, 만약 우리가 비슷한 식으로 원본 파일을 lay out하면 여러분이 파일 모두를 패키지하고 zin54      이 글에서도 위와 비슷한 파일 구조를 만들 것입니다. 그러면 이제&nbsp;하드디스크 어디든지(예컨대,&n
>p할 Makefile이나 쉘 스크립트를 작성하길 원하지 않는 한 가장 쉽습니다. 심지어 여러분이 그렇게 할 준비가 돼>bsp;<code style="color: inherit; font-weight: inherit;">C:\extens
> 있다면, Firefox 1.5 이상에서 제공하는 Add-on System 기능 때문에 이처럼 파일을 lay out한>ions\myExtension\</code>이나&nbsp;<code style="color: inherit; font
>다면 시험하기가 훨씬 더 쉽습니다.>-weight: inherit;">~/extensions/my_extension/</code>) 확장기능을 위한 폴더
 >를 만들고,&nbsp;이 폴더 안에&nbsp;<code style="color: inherit; font-weight
 >: inherit;">chrome</code>&nbsp;폴더를 만들고,&nbsp;<code style="color: 
 >inherit; font-weight: inherit;">chrome</code>&nbsp;폴더 안에&nbsp;<co
 >de style="color: inherit; font-weight: inherit;">content</code>&n
 >bsp;폴더를 만드세요.
40    </p>
41    <p>55    </p>
42      그러면 시작합니다. 하드디스크 어디든지(예컨대, <code>C:\extensions\myExtension\
></code>이나 <code>~/extensions/myExtension/</code>) 확장기능을 위한 폴더를 만드 
>세요. 이 폴더 안데 <code>chrome</code> 폴더를 만들고, <code>chrome</code> 폴더 안 
>에 <code>content</code> 폴더를 만드세요. (Unix 계열 시스템에서는 보통 확장기능 루트 디렉토리  
>안에서 <code>mkdir -p chrome/content</code>를 실행해서 바로 세 디렉토리 모두를 만들 수 
> 있습니다.) 
43    </p>56    <p>
57      확장기능 폴더 <strong>루트</strong> 안에, <code>chrome</code> 폴더와 나란히
 >, 빈 텍스트 파일 두 개를 새로 만드세요. 하나는 <code>chrome.manifest</code> 그리고 다른 
 >하나는 <code>install.rdf</code>입니다. 그리고, <strong>chrome/content</str
 >ong> 폴더 안에 sample.xul이라는 빈 텍스트 파일을 하나 만드세요.
44    <p>58    </p>
45      확장기능 폴더 <strong>루트</strong> 안에, <code>chrome</code> 폴더와 나란히
>, 빈 텍스트 파일 두 개를 새로 만드세요. 하나는 <code>chrome.manifest</code> 그리고 다른  
>하나는 <code>install.rdf</code>입니다. 
46    </p>59    <p>
60      만들어진 폴더 구조 :
47    <p>61    </p>
48      개발 환경 구축에 관한 팁은 <a class="external" href="http://kb.mozilla62    <pre>
>zine.org/Setting_up_extension_development_environment">Mozillazin 
>e Knowledge Base</a>에 더 있습니다. 
63&lt;ext path&gt;\
64          install.rdf
65          chrome.manifest
66          chrome\
67              content\
68                  sample.xul<br>
69</pre>
49    </p>70    <p>
50    <h4 name="Install_Manifest_.EB.A7.8C.EB.93.A4.EA.B8.B0">71      &nbsp;
72    </p>
73    <h4 id="Install_Manifest_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="I
 >nstall_Manifest_.EB.A7.8C.EB.93.A4.EA.B8.B0">
n108    <h4 name="XUL.EB.A1.9C_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.n131    <h4 id="XUL.EB.A1.9C_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.ED
>ED.99.95.EC.9E.A5.ED.95.98.EA.B8.B0">>.99.95.EC.9E.A5.ED.95.98.EA.B8.B0" name="XUL.EB.A1.9C_.EB.B8.8C.E
 >B.9D.BC.EC.9A.B0.EC.A0.80_.ED.99.95.EC.9E.A5.ED.95.98.EA.B8.B0">
n128    <h5 name="XUL_Overlay">n151    <h5 id="XUL_Overlay" name="XUL_Overlay">
n158    <h4 name="Chrome_URI">n181    <h4 id="Chrome_URI" name="Chrome_URI">
n186    <h4 name="Chrome_Manifest_.EB.A7.8C.EB.93.A4.EA.B8.B0">n209    <h4 id="Chrome_Manifest_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="Ch
 >rome_Manifest_.EB.A7.8C.EB.93.A4.EA.B8.B0">
n227    <h4 name="Overlay_.EB.93.B1.EB.A1.9D">n250    <h4 id="Overlay_.EB.93.B1.EB.A1.9D" name="Overlay_.EB.93.B1.E
 >B.A1.9D">
n239    <h4 name=".EC.8B.9C.ED.97.98">n262    <h4 id=".EC.8B.9C.ED.97.98" name=".EC.8B.9C.ED.97.98">
n264    <h4 name="Package">n287    <h4 id="Package" name="Package">
n285    <h5 name="addons.mozilla.org_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.Bn308    <h5 id="addons.mozilla.org_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.
>8.B0">>B0" name="addons.mozilla.org_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0
 >">
n297    <h5 name="Windows_.EB.A0.88.EC.A7.80.EC.8A.A4.ED.8A.B8.EB.A6.n320    <h5 id="Windows_.EB.A0.88.EC.A7.80.EC.8A.A4.ED.8A.B8.EB.A6.AC
>AC.EC.97.90_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EB.93.B1.EB.A1.>.EC.97.90_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EB.93.B1.EB.A1.9D
>9D.ED.95.98.EA.B8.B0">>.ED.95.98.EA.B8.B0" name="Windows_.EB.A0.88.EC.A7.80.EC.8A.A4.ED.
 >8A.B8.EB.A6.AC.EC.97.90_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EB.
 >93.B1.EB.A1.9D.ED.95.98.EA.B8.B0">
n303    <h4 name="XUL_Overlay_.EB.8D.94_.EB.A7.8E.EC.9D.80_.EC.A0.95.n326    <h4 id="XUL_Overlay_.EB.8D.94_.EB.A7.8E.EC.9D.80_.EC.A0.95.EB
>EB.B3.B4">>.B3.B4" name="XUL_Overlay_.EB.8D.94_.EB.A7.8E.EC.9D.80_.EC.A0.95.
 >EB.B3.B4">
n324    <h4 name=".EC.83.88.EB.A1.9C.EC.9A.B4_.EC.82.AC.EC.9A.A9.EC.9n347    <h4 id=".EC.83.88.EB.A1.9C.EC.9A.B4_.EC.82.AC.EC.9A.A9.EC.9E.
>E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EC.BB.B4.ED.8>90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EC.BB.B4.ED.8F.
>F.AC.EB.84.8C.ED.8A.B8_.EB.A7.8C.EB.93.A4.EA.B8.B0">>AC.EB.84.8C.ED.8A.B8_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".EC.83.88
 >.EB.A1.9C.EC.9A.B4_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0
 >.ED.8E.98.EC.9D.B4.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_
 >.EB.A7.8C.EB.93.A4.EA.B8.B0">
n333    <h4 name="Defaults_File">n356    <h4 id="Defaults_File" name="Defaults_File">
n339    <h4 name="XPCOM_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8">n362    <h4 id="XPCOM_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8" name="XPC
 >OM_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8">
n351    <h5 name=".EC.9D.91.EC.9A.A9.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9En374    <h5 id=".EC.9D.91.EC.9A.A9.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A
>.A8_.EB.AA.85.EB.A0.B9.EC.A4.84">>8_.EB.AA.85.EB.A0.B9.EC.A4.84" name=".EC.9D.91.EC.9A.A9.ED.94.84.
 >EB.A1.9C.EA.B7.B8.EB.9E.A8_.EB.AA.85.EB.A0.B9.EC.A4.84">
n363    <h4 name=".EC.A7.80.EC.97.AD.ED.99.94">n386    <h4 id=".EC.A7.80.EC.97.AD.ED.99.94" name=".EC.A7.80.EC.97.AD
 >.ED.99.94">
n409    <h4 name=".EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.9D.B4.ED.9n432    <h4 id=".EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.9D.B4.ED.95.
>5.B4.ED.95.98.EA.B8.B0">>B4.ED.95.98.EA.B8.B0" name=".EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_
 >.EC.9D.B4.ED.95.B4.ED.95.98.EA.B8.B0">
n421    <h4 name=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EB.94.94.EB.Bn444    <h4 id=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EB.94.94.EB.B2.
>2.84.EA.B7.B8.ED.95.98.EA.B8.B0">>84.EA.B7.B8.ED.95.98.EA.B8.B0" name=".ED.99.95.EC.9E.A5.EA.B8.B0.
 >EB.8A.A5_.EB.94.94.EB.B2.84.EA.B7.B8.ED.95.98.EA.B8.B0">
n455    <h3 name=".EB.B9.A0.EB.A5.B8_.EC.8B.9C.EC.9E.91">n478    <h3 id=".EB.B9.A0.EB.A5.B8_.EC.8B.9C.EC.9E.91" name=".EB.B9.A
 >0.EB.A5.B8_.EC.8B.9C.EC.9E.91">
t464    <h3 name=".EB.B6.80.EA.B0.80_.EC.A0.95.EB.B3.B4">t487    <h3 id=".EB.B6.80.EA.B0.80_.EC.A0.95.EB.B3.B4" name=".EB.B6.8
 >0.EA.B0.80_.EC.A0.95.EB.B3.B4">

이력으로 돌아가기