diff options
Diffstat (limited to 'files/ko/archive/add-ons')
9 files changed, 0 insertions, 509 deletions
diff --git a/files/ko/archive/add-ons/code_snippets/cookies/index.html b/files/ko/archive/add-ons/code_snippets/cookies/index.html deleted file mode 100644 index c3c25b033b..0000000000 --- a/files/ko/archive/add-ons/code_snippets/cookies/index.html +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Cookies -slug: Archive/Add-ons/Code_snippets/Cookies -tags: - - Add-ons - - Extensions -translation_of: Archive/Add-ons/Code_snippets/Cookies ---- -<p> </p> -<h3 id=".EC.BF.A0.ED.82.A4_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0" name=".EC.BF.A0.ED.82.A4_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0">쿠키 모두 없애기</h3> -<p>다음 코드는 Firefox/Seamonkey에서 쿠키를 모두 없애는 법을 보여줍니다.</p> -<pre class="eval">Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager).removeAll(); -</pre> -<p>{{ languages( { "en": "en/Code_snippets/Cookies", "fr": "fr/Extraits_de_code/Cookies" } ) }}</p> diff --git a/files/ko/archive/add-ons/code_snippets/index.html b/files/ko/archive/add-ons/code_snippets/index.html deleted file mode 100644 index 09b381ed68..0000000000 --- a/files/ko/archive/add-ons/code_snippets/index.html +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Code snippets -slug: Archive/Add-ons/Code_snippets -tags: - - Add-ons - - Extensions -translation_of: Archive/Add-ons/Code_snippets ---- -<p> -</p><p>이 문서는 확장기능 개발자들이 다양한 Mozilla 응용프로그램에 빠르게 쓸 수 있는 쓸모 있는 코드 조각(snippet) 목록입니다. 상당수는 XULRunner 응용프로그램 및 Firefox/Thunderbird 코드에서도 쓸 수 있습니다. -</p> -<h3 id=".EC.9D.BC.EB.B0.98"> 일반 </h3> -<dl><dt> <a href="ko/Code_snippets/Tabbed_browser">탭브라우저 코드</a> (Firefox/SeaMonkey) -</dt><dd> <small>Mozilla 브라우저 응용프로그램의 핵심인 탭브라우저를 다루는 기본적인 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Windows">창 코드</a> -</dt><dd> <small>창 열기 및 다루기</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Cookies">쿠키</a> -</dt><dd> <small>쿠키 읽기, 쓰기, 고치기, 없애기</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/XML">XML</a> -</dt><dd> <small>XML을 구문분석하거나, 작성하거나, 다루는 데 쓰는 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/File_I%2f%2fO">파일 입출력</a> -</dt><dd> <small>파일을 읽거나, 쓰거나, 처리하는 데 쓰는 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Dialogs">대화상자</a> -</dt><dd> <small>대화상자를 나타내거나, 처리하는 데 쓰는 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Preferences">선택사항</a> -</dt><dd> <small>선택사항을 읽거나, 쓰거나, 고치는 데 쓰는 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Page_Loading">페이지 불러오기</a> -</dt><dd> <small>페이지를 로드하거나, 재로드하거나, 페이지 로드를 청취하는 데 쓰는 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Interaction_between_privileged_and_non-privileged_pages">특권 코드와 비특권 코드 사이의 상호 작용</a> -</dt><dd> <small>부가기능이 웹사이트와 또는 그 반대로 통신하는 법</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/JS_XPCOM">JS XPCOM</a> -</dt><dd> <small>JavaScript로 맞춤 XPCOM 컴포넌트를 정의하고 호출하는 데 쓰는 코드</small> -</dd></dl> -<dl><dt> <a href="ko/Code_snippets/Running_applications">응용프로그램 실행하기</a> -</dt><dd> <small>다른 응용프로그램을 실행하는 데 쓰는 코드</small> -</dd></dl> -<h3 id=".EC.9C.88.EB.8F.84_.EA.B3.A0.EC.9C.A0_.EC.BD.94.EB.93.9C"> 윈도 고유 코드 </h3> -<dl><dt> <a href="ko/Code_snippets/Finding_Window_Handles">윈도 핸들(HWND) 구하기</a> (Firefox) -</dt><dd> <small>Windows API로 가지각색의 Mozilla 윈도 핸들을 구하는 법입니다. 윈도 핸들은 IPC 및 접근성 목적으로 쓰일 수 있습니다.</small> -</dd></dl> -<dl><dt> <a href="ko/Accessing_the_Windows_Registry_Using_XPCOM">XPCOM으로 윈도 레지스트리 쓰기</a> -</dt><dd> <small>레지스트리 키 및 값을 읽거나, 쓰거나, 고치거나, 없애거나, 열거하거나, 주목하는 법</small> -</dd></dl> -<h3 id=".EC.99.B8.EB.B6.80_.EB.A7.81.ED.81.AC"> 외부 링크 </h3> -<p><a class="external" href="http://kb.mozillazine.org/Category:Example_code">MozillaZine 예제 코드</a>의 내용이 여기로 천천히 옮겨지고 있습니다. 하지만 지금은 쓸만한 예제를 그곳에서 찾을 수 있습니다. -</p>{{ languages( { "en": "en/Code_snippets", "fr": "fr/Extraits_de_code", "ja": "ja/Code_snippets" } ) }} diff --git a/files/ko/archive/add-ons/code_snippets/page_loading/index.html b/files/ko/archive/add-ons/code_snippets/page_loading/index.html deleted file mode 100644 index ddf4043032..0000000000 --- a/files/ko/archive/add-ons/code_snippets/page_loading/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Page Loading -slug: Archive/Add-ons/Code_snippets/Page_Loading -translation_of: Archive/Add-ons/Code_snippets/Page_Loading ---- -<p> </p> -<h3 id=".ED.8E.98.EC.9D.B4.EC.A7.80_.EB.B6.88.EB.9F.AC.EC.98.A4.EA.B8.B0" name=".ED.8E.98.EC.9D.B4.EC.A7.80_.EB.B6.88.EB.9F.AC.EC.98.A4.EA.B8.B0">페이지 불러오기</h3> -<dl> - <dt> - <a href="ko/Code_snippets/On_page_load">페이지가 로드될 때</a></dt> - <dd> - <small>새 페이지가 브라우저/메일에 로드될 때마다 코드를 실행하는 법</small></dd> -</dl> -<dl> - <dt> - <a href="ko/Code_snippets/Progress_Listeners">진행 청취자</a></dt> - <dd> - <small>진행 청취자는 확장기능이 브라우저 안의 문서 로드와 관련된 이벤트 및 탭 갈아타기 이벤트를 통보받을 수 있게 합니다.</small></dd> -</dl> -<dl> - <dt> - <a href="ko/Code_snippets/Post_data_to_window">창에 데이터를 넘기기</a></dt> - <dd> - <small>현존하거나 새로 만든 창/탭에 데이터를 넘기는 코드</small></dd> -</dl> -<p>{{ languages( { "en": "en/Code_snippets/Page_Loading", "fr": "fr/Extraits_de_code/Chargement_de_page", "ja": "ja/Code_snippets/Page_Loading" } ) }}</p> diff --git a/files/ko/archive/add-ons/code_snippets/running_applications/index.html b/files/ko/archive/add-ons/code_snippets/running_applications/index.html deleted file mode 100644 index a05c52db62..0000000000 --- a/files/ko/archive/add-ons/code_snippets/running_applications/index.html +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Running applications -slug: Archive/Add-ons/Code_snippets/Running_applications -tags: - - Add-ons - - Extensions -translation_of: Archive/Add-ons/Code_snippets/Running_applications ---- -<p> -</p><p>본 페이지에서는 Mozilla XPCOM 인터페이스를 이용해서 chrome JavaScript 코드로 다른 프로그램을 실행하는 방법에 대해 설명하겠습니다. 프로그램을 실행하는데는 두 가지 방법이 있습니다. 첫번째 방법은 <code><a href="ko/NsILocalFile/launch">nsILocalFile:launch</a></code> 메소드를 사용하는 것이고, 두번째 방법은 <code><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess</a></code> 인터페이스를 사용하는 것입니다. -</p> -<h3 id="nsILocalFile.launch.28.29_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0" name="nsILocalFile.launch.28.29_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0"> <code>nsILocalFile.launch()</code> 이용하기 </h3> -<p>이 방법은 실행 파일을 더블 클릭하는 것과 동일한 효과가 나타나며 파라미터 없이 실행됩니다. 또 구현되지 않은 플랫폼도 있으므로 여러분이 대상으로 하는 플랫폼에서 이 메소드가 구현되어 있는지 확인해야 합니다. -</p><p><code><a href="ko/NsIFile">nsIFile</a></code>/<code><a href="ko/NsILocalFile">nsILocalFile</a></code>에 대한 보다 자세한 정보는 <a href="ko/Code_snippets/File_I%2f%2fO">File I/O</a>를 참조하세요. -</p><p>For more information on <code><a href="ko/NsIFile">nsIFile</a></code>/<code><a href="ko/NsILocalFile">nsILocalFile</a></code>, see <a href="ko/Code_snippets/File_I%2f%2fO">File I/O</a>. -</p> -<pre class="eval">var file = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); -file.initWithPath("c:\\myapp.exe"); -file.launch(); -</pre> -<h3 id="nsIProcess_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0" name="nsIProcess_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0"> <code>nsIProcess</code> 이용하기 </h3> -<p><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess</a> 인터페이를 사용하는 것이 권장되는 방법 입니다. -</p> -<pre class="eval">// create an nsILocalFile for the executable -var file = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); -file.initWithPath("c:\\myapp.exe"); - -// create an nsIProcess -var process = Components.classes["@mozilla.org/process/util;1"] - .createInstance(Components.interfaces.nsIProcess); -process.init(file); - -// Run the process. -// If first param is true, calling thread will be blocked until -// called process terminates. -// Second and third params are used to pass command-line arguments -// to the process. -var args = ["argument1", "argument2"]; -process.run(false, args, args.length); -</pre> -<h3 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0"> 참고 </h3> -<ul><li><a href="ko/NsILocalFile"> nsILocalFile 인터페이스</a> -</li><li><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess 인터페이스</a> -</li><li> XPI에 포함된 실행 파일을 실행해야 한다면 <a href="ko/Code_snippets/File_I%2f%2fO#Getting_your_extension.27s_folder">Code snippets:File I/O#Getting your extension's folder</a>를 참조하세요. -</li><li><a class="external" href="http://groups.google.com/group/mozilla.dev.extensions/browse_frm/thread/947e63c95c14b5a5">웹 페이지에서 프로세스 실행하기</a> -</li></ul> -<div class="noinclude"> -</div> -{{ languages( { "en": "en/Code_snippets/Running_applications", "fr": "fr/Extraits_de_code/Ex\u00e9cuter_des_applications", "ja": "ja/Code_snippets/Running_applications", "pl": "pl/Fragmenty_kodu/Uruchamianie_aplikacji" } ) }} diff --git a/files/ko/archive/add-ons/code_snippets/windows/index.html b/files/ko/archive/add-ons/code_snippets/windows/index.html deleted file mode 100644 index 00e4febdb1..0000000000 --- a/files/ko/archive/add-ons/code_snippets/windows/index.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Windows -slug: Archive/Add-ons/Code_snippets/Windows -tags: - - Add-ons - - Extensions -translation_of: Archive/Add-ons/Code_snippets/Windows ---- -<p> </p> -<h3 id=".EC.83.88_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.B0.BD_.EC.97.B4.EA.B8.B0" name=".EC.83.88_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.B0.BD_.EC.97.B4.EA.B8.B0">새 브라우저 창 열기</h3> -<p>브라우저 창을 새로 열려면 간단히 <code>window.open()</code>을 쓸 수 있습니다. 그러나 <code>window.open()</code>은 브라우저 창 자체가 아닌 내용의 <code>Window</code> 객체를 반환합니다. 그래서 먼저 크롬 <code>Window</code>를 구해야 합니다. 가장 간단한 방법은 <a href="ko/NsIWindowMediator">nsIWindowMediator</a>를 쓰는 것입니다.</p> -<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h4> -<p> </p> -<pre class="eval">window.open(); -var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] - .getService(Components.interfaces.nsIWindowMediator); -var newWindow = wm.getMostRecentWindow("navigator:browser"); -var b = newWindow.getBrowser(); -// why did we do this? we never do anything with |b| -</pre> -<h3 id=".EB.8B.A4.EB.A5.B8_.EB.AC.B8.EC.84.9C" name=".EB.8B.A4.EB.A5.B8_.EB.AC.B8.EC.84.9C">다른 문서</h3> -<ul> - <li><a href="ko/Working_with_windows_in_chrome_code">크롬 코드에서 창 다루기</a></li> -</ul> -<p>{{ languages( { "en": "en/Code_snippets/Windows", "fr": "fr/Extraits_de_code/Onglets_de_navigation" } ) }}</p> diff --git a/files/ko/archive/add-ons/code_snippets/xml/index.html b/files/ko/archive/add-ons/code_snippets/xml/index.html deleted file mode 100644 index 46749c928e..0000000000 --- a/files/ko/archive/add-ons/code_snippets/xml/index.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: XML -slug: Archive/Add-ons/Code_snippets/XML -tags: - - Add-ons - - Extensions -translation_of: Archive/Add-ons/Code_snippets/XML ---- -<ul> - <li><a href="ko/How_to_Create_a_DOM_tree">DOM 트리를 만드는 법</a></li> - <li><a href="ko/XMLHttpRequest">XMLHttpRequest 쓰기</a></li> - <li><a href="ko/Parsing_and_serializing_XML">XML 구문분석 및 직렬화</a></li> - <li><a href="ko/Using_XPath">XPath 쓰기</a></li> - <li><a href="ko/XSL_Transforms">XSL 변환</a></li> - <li><a href="ko/XLink">XLink</a></li> - <li><a href="ko/XPointer">XPointer</a></li> - <li><a href="ko/SVG">SVG</a></li> - <li><a href="ko/Namespaces">네임스페이스</a>, 또는 모든 XUL 문서의 맨위에 <code><a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a></code>이 있는 까닭</li> - <li><a href="ko/E4X">E4X</a></li> -</ul> - -<p>{{ languages( { "en": "en/Code_snippets/XML", "fr": "fr/Extraits_de_code/XML" } ) }}</p> diff --git a/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html b/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html deleted file mode 100644 index f5f9d69790..0000000000 --- a/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html +++ /dev/null @@ -1,193 +0,0 @@ ---- -title: 'Extension Versioning, Update and Compatibility' -slug: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility' -tags: - - Add-ons - - Extensions -translation_of: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility' ---- -<p> </p> -<h2 id=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.B2.84.EC.A0.80.EB.8B.9D.28Versioning.29" name=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.B2.84.EC.A0.80.EB.8B.9D.28Versioning.29">부가 기능 버저닝(Versioning)</h2> -<p>부가 기능은 <a href="ko/Toolkit_version_format">Toolkit version format</a>을 이용해 자신의 버전을 명시해야 합니다. 이는 다음과 같이 점으로 분리된 버전 문자열이라고 말씀드릴 수 있습니다.</p> -<ul> - <li>2.0</li> - <li>1.0b1</li> - <li>3.0pre1</li> - <li>5.0.1.2</li> -</ul> -<div class="note"> - <b>참고:</b> Firefox 1.5 이전에는 좀 더 기본적인 Firefox Version Format을 사용했었습니다. 이 포맷은 major.minor.release.build[+] 의 형태로 구성되며 숫자만 사용할 수 있었습니다. Toolkit version format은 Firefox version format을 지원하면서도 더 많은 유연성을 제공합니다.</div> -<h2 id=".EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.98_.ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.B0.A9.EB.B2.95" name=".EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.98_.ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.B0.A9.EB.B2.95">응용 프로그램의 호환성 검사 방법</h2> -<p>부가기능을 설치하기 전에 응용 프로그램은 부가기능의 <tt>install.rdf</tt>에 있는 <code><a href="ko/Install.rdf#targetApplication">targetApplication</a></code> 항목을 조사합니다. 해당 항목에는 대상 응용프로그램과 동일한 ID가 존재해야 합니다. 또한 이 항목의 <code>minVersion</code>과 <code>maxVersion</code>은 부가기능이 실행되는 응용프로그램의 버전이 포함되는 범위이어야 합니다.</p> -<p>만일 응용프로그램이 <code>targetApplication</code> 요소를 가지고 있지만 호환되지 않는 버전일 경우 부가 기능의 <code><a href="ko/Install.rdf#updateURL">updateURL</a></code>에서 업데이트된 호환 정보를 조회해 제공합니다.</p> -<p>만일 <tt>install.rdf</tt>에 <code><a href="ko/Install.rdf#targetPlatform">targetPlatform</a></code> 항목들이 포함되어 있으며, 현재 응용프로그램이 실행되는 플랫폼이 해당 목록에 포함되어 있지 않을 경우 설치가 거부됩니다.</p> -<p></p><div class="blockIndicator standardNote standardNoteBlock"> - <p><a href="https://developer.mozilla.org/ko/docs/Mozilla/Firefox/Releases/3">Firefox 3 note</a></p> - <p style="font-weight: 400;">Gecko 1.9 기반의 응용프로그램일 경우 <code>targetApplication</code> 항목에 응용프로그램이 실행되는 툴킷 버전에 해당하는 <code>toolkit@mozilla.org</code>, <code>minVersion</code>, <code>maxVersion</code> 값을 사용할 수 있습니다. 이는 여러분의 부가 기능이 해당 툴킷 기반의 어떤 응용프로그램에서도 설치 가능하다는 것을 나타냅니다.</p> -</div><p></p> -<h3 id=".ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.AC.B4.EC.8B.9C.ED.95.98.EA.B8.B0" name=".ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.AC.B4.EC.8B.9C.ED.95.98.EA.B8.B0">호환성 검사 무시하기</h3> -<p> 테스트를 목적으로 할 경우 응용프로그램에 부가기능을 설치할 때 호환성 검사를 무시하도록 할 수 있습니다. 연산자(boolean) 형으로 <code>extensions.checkCompatibility</code> 설정을 만들고 <code>false</code>로 지정하면 됩니다.</p> -<div class="note"> - <b>참고:</b> Firefox 1.5 이전 버전에서는 <code>app.extensions.version</code> 설정을 통해 응용프로그램의 버전을 오버라이드할 수도 있습니다. 이는 응용프로그램 자신이 호환되지 않는 확장 기능을 설치할 수 있다고 믿게끔 해 줍니다.</div> -<h2 id="minVersion.EA.B3.BC_maxVersion_.EA.B2.B0.EC.A0.95.ED.95.98.EA.B8.B0" name="minVersion.EA.B3.BC_maxVersion_.EA.B2.B0.EC.A0.95.ED.95.98.EA.B8.B0">minVersion과 maxVersion 결정하기</h2> -<p><code>minVersion</code>과 <code>maxVersion</code>은 여러분이 테스트한 응용프로그램의 버전 범위로 명시하는게 좋습니다. 특히 향후 API와 UI가 어떻게 변경될지 모르기 때문에 <code>maxVersion</code>을 현재 가능한 응용프로그램의 버전보다 높게 설정하지 않아야 합니다. <a href="#Compatibility_Updates">호환성 업데이트</a>를 이용하면 확장기능의 새로운 버전을 공개할 필요 없이 <code>maxVersion</code>만 증가시키면 됩니다.</p> -<p><code>maxVersion</code>에서는 여러분이 지원하는 응용프로그램의 하위(minor) 버전 위치에 *를 사용할 수 있습니다. 예를 들어 2.0.0.*은 2 버전 응용프로그램에서의 하위 업데이트를 지원하는다는 것을 의미합니다. 응용 프로그램은 보통 확장 기능 작성자에게 버전의 어떤 부분을 이렇게 사용할 수 있는지 제안할 것입니다.</p> -<p>실수로 *를 어떤 버전도 지원한다는 의미로 생각하지 마세요. 사실 *는 무한의 높은 숫자를 나타내며, 따라서 <code>maxVersion</code>에서 사용하였을때만 의미가 있습니다. 이를 <code>minVersion</code>에서 사용하면 여러분이 원하는 효과가 나지 않을 수 있습니다.</p> -<h2 id=".EC.9E.90.EB.8F.99_.EB.B6.80.EA.B0.80.EA.B8.B0.EB.8A.A5_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EA.B2.80.EC.82.AC" name=".EC.9E.90.EB.8F.99_.EB.B6.80.EA.B0.80.EA.B8.B0.EB.8A.A5_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EA.B2.80.EC.82.AC">자동 부가기능 업데이트 검사</h2> -<p>응용프로그램은 주기적으로 설치된 부가기능의 <code><a href="ko/Install.rdf#updateURL">updateURL</a></code>에서 정보를 가져와 업데이트 여부를 검사합니다. 반환된 정보는 사용자에게 부가기능의 업데이트된 버전이 있는지를 알려주고 응용프로그램에게는 해당 부가기능과 호환되는 응용프로그램의 버전을 알려줍니다.</p> -<h3 id=".ED.98.B8.ED.99.98.EC.84.B1_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8" name=".ED.98.B8.ED.99.98.EC.84.B1_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8">호환성 업데이트</h3> -<p>자동 업데이트 검사를 통해 응용프로그램은 현재 설치된 부가 기능 버전에 대한 새로운 버전과 갱신된 호환성 정보를 조사합니다. 만일 작성된 업데이트 선언에 현재 설치된 부가 기능에 대한 항목이 존재하고 해당 항목의 <code>targetApplication</code>에 더 큰 maxVersion이 명시되어 있을 경우, 응용 프로그램은 부가 기능의 <tt>install.rdf</tt>에 명시된 값 대신 이 값을 사용하게 됩니다. 이는 호환성 문제로 사용 안함 상태로 되어 있는 부가 기능을 사용 가능한 상태로 만들 수도 있으며, 정상적으로 설치되지 않은 부가 기능을 정상적으로 설치된 상태로 만들 수도 있습니다.</p> -<h3 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_RDF_.ED.8F.AC.EB.A7.B7" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_RDF_.ED.8F.AC.EB.A7.B7">업데이트 RDF 포맷</h3> -<p>여러분이 부가기능의 <code>updateURL</code>을 직접 호스팅하는 경우, 부가기능의 버전 정보를 RDF 포맷으로 반환해야만 합니다. 아래는 업데이트 선언(update manifest) 예제입니다. 여기서는 id가 <code><a class="link-mailto" href="mailto:foobar@developer.mozilla.org" rel="freelink">foobar@developer.mozilla.org</a></code>인 서로 다른 2가지 버전의 확장기능에 대한 정보를 나열하고 있습니다. 포함된 버전은 2.2와 2.5 이고 둘 다 Firefox 1.5에서 2.0.0.* 버전에서 호환된다고 명시하고 있습니다. 버전 2.2의 경우 https 업데이트 링크를 사용하고 있으며, 버전 2.5는 일반적인 http 링크를 사용하며 전송된 파일의 유효성을 검사하기 위해 해시를 포함하고 있습니다.</p> -<p>맨 처음에 있는 RDF:Description의 about 속성을 올바르게 설정하는 것이 중요합니다. 이 속성은 제공 정보가 어떤 종류의 부가기능에 대한 것인지에 따라 다음과 같이 달라집니다.</p> -<ul> - <li>확장 기능일 경우 <code>urn:mozilla:extension:<id></code> 이어야 합니다.</li> - <li>테마인 경우 <code>urn:mozilla:theme:<id></code> 이어야 합니다.</li> - <li>이 외의 다른 유형인 경우 <code>urn:mozilla:item:<id></code> 이어야 합니다.</li> -</ul> -<p>아래 예제의 경우 이후 버전이 이전 버전보다 나중에 명시되어야 한다는 점에서 <RDF:Seq> 요소 내에 있는 버전의 순서가 중요합니다. 만일 최종 버전이 제공된다면 이전 버전 모두가 명시될 필요는 없습니다(?).</p> -<pre><?xml version="1.0" encoding="UTF-8"?> - -<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:em="http://www.mozilla.org/2004/em-rdf#"> - - <!-- Description 리소스에는 id가 foobar@developer.mozilla.org인 - 단일 부가 기능에 대한 모든 업데이트와 호환성 정보를 포함합니다. - 여러분은 하나의 RDF 파일에 여러개의 부가기능에 대한 정보를 나열할 수 있습니다. --> - <RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"> - <em:updates> - <RDF:Seq> - - <!-- 각각의 li는 동일한 부가기능에 대한 서로 다른 버전을 나타냅니다. --> - <RDF:li> - <RDF:Description> - <em:version>2.2</em:version> <!-- 이것은 부가기능의 버전 번호입니다. --> - - <!-- 이 부가 기능과 호환되는 각각의 응용 프로그램에 대해 targetApplication이 하나씩 존재합니다. --> - <em:targetApplication> - <RDF:Description> - <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> - <em:minVersion>1.5</em:minVersion> - <em:maxVersion>2.0.0.*</em:maxVersion> - - <!-- 이 부가 기능을 다운로드 받을 위치를 나타냅니다. --> - <em:updateLink>https://www.mysite.com/foobar2.2.xpi</em:updateLink> - - <!-- 업데이트된 버전에서 제공되는 새로운 기능을 설명하는 페이지에 대한 URL입니다. --> - <em:updateInfoURL>http://www.mysite.com/updateinfo2.2.xhtml</em:updateInfoURL> - </RDF:Description> - </em:targetApplication> - </RDF:Description> - </RDF:li> - - <RDF:li> - <RDF:Description> - <em:version>2.5</em:version> - <em:targetApplication> - <RDF:Description> - <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> - <em:minVersion>1.5</em:minVersion> - <em:maxVersion>2.0.0.*</em:maxVersion> - <em:updateLink>http://www.mysite.com/foobar2.5.xpi</em:updateLink> - <em:updateHash>sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash> - </RDF:Description> - </em:targetApplication> - </RDF:Description> - </RDF:li> - - </RDF:Seq> - </em:updates> - - <!-- 서명은 부가기능의 install.rdf에 updateKey를 포함하고 있는 경우에만 필요합니다. --> - <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt - ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk - jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L - BcVq13ad</em:signature> - </RDF:Description> -</RDF:RDF> -</pre> -<p>어떤 사람들은 다음의 포맷을 더 좋아합니다(본 예제에서는 기본 구조를 중점적으로 보여주기 위해 몇 가지 정보가 생략되어 있습니다).</p> -<pre><?xml version="1.0" encoding="UTF-8"?> - -<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:em="http://www.mozilla.org/2004/em-rdf#"> - - <!-- Description 리소스에는 id가 foobar@developer.mozilla.org인 - 단일 부가 기능에 대한 모든 업데이트와 호환성 정보를 포함합니다. - 여러분은 하나의 RDF 파일에 여러개의 부가기능에 대한 정보를 나열할 수 있습니다. --> - <RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"> - <em:updates> - <RDF:Seq> - <!-- resource 속성은 아래에 있는 RDF:Description의 동일한 about 속성을 가리킵니다. - 실제 uri는 어떤 값이든 상관 없습니다. --> - <RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"/> - <RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"/> - </RDF:Seq> - </em:updates> - <em:signature>MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt - ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk - jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L - BcVq13ad</em:signature> - </RDF:Description> - - <!-- 다음은 앞선 예제에서 li 요소 내에 있는 Description과 동일합니다. --> - <RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"> - <em:version>2.2</em:version> - - <!-- 나머지 내용은 생략하였습니다. --> - - </RDF:Description> - - <RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"> - <em:version>2.5</em:version> - - <!-- 나머지 내용은 생략하였습니다. --> - - </RDF:Description> - -</RDF:RDF> -</pre> -<h3 id=".EA.B0.B1.EC.8B.A0_.EC.82.AC.ED.95.AD.EC.97.90_.EB.8C.80.ED.95.9C_.EC.84.B8.EB.B6.80_.EC.A0.95.EB.B3.B4_.EC.A0.9C.EA.B3.B5.ED.95.98.EA.B8.B0" name=".EA.B0.B1.EC.8B.A0_.EC.82.AC.ED.95.AD.EC.97.90_.EB.8C.80.ED.95.9C_.EC.84.B8.EB.B6.80_.EC.A0.95.EB.B3.B4_.EC.A0.9C.EA.B3.B5.ED.95.98.EA.B8.B0">갱신 사항에 대한 세부 정보 제공하기</h3> -<p></p> -<p>부가 기능 사용자에게 갱신된 사항에 대한 세부 정보를 제공할 수 있습니다. 이는 사용자가 부가 기능의 업데이트 알림을 받은 경우에만 보여지는 것으로, 어떤 기능이 새롭게 추가되었고 보안과 관련된 어떤 문제들이 해결되었는지 등에 대한 빠른 개요를 제공해주는데 사용될 수 있습니다.</p> -<p>이를 위해 먼저 업데이트 선언 파일에 <code>updateInfoURL</code> 항목을 추가해야 합니다(위 예제를 보세요). 이 URL에 해당하는 페이지가 사용자에게 출력됩니다. 이 페이지는 일반적인 웹 페이지 외부에 출력되므로 깨끗하게 만들어져야 합니다. 이는 몇 가지 사항만이 가능하고 스크립트나 이미지들은 사용할 수 없다는 것을 의미합니다. 일반 규칙으로 다음의 태그들만 사용하는게 좋으며, 다른 태그들은 무시됩니다.</p> -<ul> - <li>제목으로 사용되는 h1, h2, h3</li> - <li>문단으로 사용되는 p</li> - <li>목록으로 사용되는 ul과 ol</li> -</ul> -<p>목록 내에서는 개별 항목을 나타내는 <code>li</code> 태그를 사용합니다.</p> -<p>h1, h2, h3, p, li 태그 내에서는 다음을 사용할 수 있습니다.</p> -<ul> - <li>두꺼운 글자를 위해 b 나 strong</li> - <li>이탤릭 글자를 위해 i 나 em</li> -</ul> -<p>해당 페이지는 완전히 유효한 XHTML이어야 하면 MIME type이 <code>application/xhtml+xml</code>어야 합니다.</p> -<p>업데이트 선언 파일의 <code>updateInfoURL</code>에는 URL에 로케일 정보를 포함하고자 할 경우 <code>%APP_LOCALE%</code>을 포함할 수 있습니다. 이를 이용하면 사용자의 로케일에 따라 내용을 수정할 수 있습니다. 이 외에도 <code>updateURL</code>에서 지원하는 또 다른 치환 문자열을 사용할 수 있습니다만, 별로 필요하지는 않을 것입니다.</p> -<h3 id=".EB.B3.B4.EC.95.88_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8" name=".EB.B3.B4.EC.95.88_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8">보안 업데이트</h3> -<p> </p> -<p>Gecko 1.9는 부가 기능 업데이트와 같은 경우에 사용자를 <a class="external" href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle attacks</a>에서 보호하기 위해 설계된 부가적인 요구 사항을 추가했습니다. 이미 설치된 부가 기능의 install.rdf에서 <code>updateURL</code>을 다음 방법 중 한 가지로 지정해야 합니다.</p> -<ul> - <li><code><a href="ko/Install.rdf#updateURL">updateURL</a></code>이 https를 사용하거나 <code>updateURL</code>이 전혀 없습니다 (which defaults to <tt>addons.mozilla.org</tt> which is https).</li> - <li><code><a href="ko/Install.rdf#updateURL">updateURL</a></code>이 http를 사용하고 업데이트 선언에 있는 데이터를 확인하는데 사용할 <code><a href="ko/Install.rdf#updateKey">updateKey</a></code> 항목을 지정합니다.</li> -</ul> -<p><tt>install.rdf</tt>에서 <code>updateKey</code>를 지정할 때는 업데이트 선언에 <a href="#Signing_Update_Manifests">digital signature</a>를 포함해야 하며 그렇지 않으면 정보가 거부됩니다.</p> -<p><code>updateURL</code>에서 전달된 업데이트 선언에서는 <code>updateLink</code>를 다음 방법 중 한 가지로 지정해야 합니다.</p> -<ul> - <li>XPI 파일을 가리키는 <code>updateLink</code>는 꼭 https를 사용해야 합니다.</li> - <li><code>updateLink</code>가 http를 사용할 수 있으며, sha1, sha256, sha384, sha512 중 하나의 알고리즘을 이용하여 XPI 파일에 대한 <code><a href="#Update_Hashes">updateHash</a></code>를 포함해야 합니다.</li> -</ul> -<p>업데이트 선언에서 위의 두 가지 요구 사항 중 하나를 만족하지 못하는 모든 항목은 새로운 버전을 확인할 때 무시됩니다.</p> -<p>잘못된 인증서를 가진 사이트로 가는 https 링크나 http 사이트로 리디렉트하는 것은 <tt>update.rdf</tt>와 <code>updateLink</code>의 두 가지 경우에 모두 실패합니다.</p> -<h4 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.ED.95.B4.EC.8B.9C" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.ED.95.B4.EC.8B.9C">업데이트 해시</h4> -<p>다운로드한 XPI의 무결성을 확인하기 위하여 updateLink와 함께 <code>updateHash</code> 항목을 제공해야 합니다. 이 해시는 파일 데이터에 대하여 문자열 형식으로 생성해야 합니다. 문자열의 시작에 사용한 해시 알고리즘을 넣고 <code>:</code>으로 해시와 구별합니다.</p> -<pre> <em:updateHash>sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash> -</pre> -<p>해시가 지정되면 다운로드한 파일을 해시와 비교하고 일치하지 않으면 오류를 표시합니다.</p> -<h4 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EC.84.A0.EC.96.B8_.EC.84.9C.EB.AA.85.ED.95.98.EA.B8.B0" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EC.84.A0.EC.96.B8_.EC.84.9C.EB.AA.85.ED.95.98.EA.B8.B0">업데이트 선언 서명하기</h4> -<p> </p> -<p>업데이트 RDF를 일반 http로 제공하기를 원한다면, Gecko 1.9 기반의 애플리케이션에서는 업데이트 선언을 서명해야 합니다. 이는 해당 정보를 생성한 여러분과 그것을 추출하는 애플리케이션 사이에서 간섭이 없었다는 것을 확인하기 위한 것입니다. 업데이트 RDF를 서명하는 데에는 <a href="ko/McCoy">McCoy</a> 도구를 사용해야 합니다.</p> -<p>서명 방식에 대한 기술적인 세부 사항은 이 문서의 범위를 벗어나지만 기본적인 사항은 다음과 같습니다.</p> -<p>부가 기능 작성자가 공개/개인 RSA 암호 키 쌍을 생성합니다.</p> -<p>공개키는 DER로 인코드된 후에 base 64로 인코드되어 부가 기능의 <tt>install.rdf</tt>에 <code><a href="ko/Install.rdf#updateKey">updateKey</a></code> 항목으로 추가됩니다.</p> -<p>작성자가 업데이트 RDF 파일을 생성할 때 도구를 사용하여 개인키로 서명합니다. 대략적으로 이야기하면, 업데이트 정보는 문자열로 변환되어 sha512 해시 알고리즘으로 해시되고 개인키로 이 해시를 서명합니다. 결과 데이터는 DER로 인코드하고 base 64로 인코드한 후 업데이트 RDF에 <code>em:signature</code> 항목으로 포함합니다.</p> diff --git a/files/ko/archive/add-ons/index.html b/files/ko/archive/add-ons/index.html deleted file mode 100644 index d1851bd7ee..0000000000 --- a/files/ko/archive/add-ons/index.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Add-ons -slug: Archive/Add-ons -translation_of: Archive/Add-ons ---- -<p>In progress. Archived add-ons documentation.</p> - -<p></p> diff --git a/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html b/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html deleted file mode 100644 index 96b33ef569..0000000000 --- a/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: Listening to events -slug: Archive/Add-ons/Listening_to_events_in_Firefox_extensions -translation_of: Archive/Add-ons/Listening_to_events_in_Firefox_extensions ---- -<p>Gecko는 사용자가 알기 원하는 흥미로운 것들에 대해 정보를 전달하기 위한 이벤트들을 사용합니다. 이벤트들은 여러 종류 를 가지지만, 이 문헌은 여러분이 그것들에 대해 배우고 여러분이 그것들에 대한 더 특정한 문서들을 직접적(쉽게)으로 접근하는데 도와 줄 것입니다. 또 이 문헌은 관심을 가질 만한 몇 가지 케이스를 제공합니다.</p> -<h2 id="이벤트들의_타입들">이벤트들의 타입들</h2> -<p>개발자들은 어플리케이션과 확장기능 안에 포함된 콘텐트의 load와 그 변경에 대해 알기 위해, <a class="internal" href="/en/XUL/browser" title="En/XUL/Browser"><code>browser</code></a> 와 <code><a class="internal" href="/en/XUL/tabbrowser" title="En/XUL/Tabbrowser">tabbrowser</a></code>의 요소들로 부터의 알림을 받을 수 있는데 이것은 여러 이벤트들의 타입들로 가능합니다.</p> -<h3 id="간단한_DOM_이벤트들">간단한 DOM 이벤트들</h3> -<p>DOM 이벤트는 다음과 같은 코드로 등록할 수 있습니다:</p> -<pre>function callback(evt) { - // Do your processing here. Check evt.target for the target of the event. -} - -b.addEventListener("event", callback, false) -</pre> -<p>위에서 b는 <code>여러분이 이벤트로부터 보기 원하는 </code><code>browser</code> 또는 <code>tabbrowser 입니다. 명심해야 할것은 이벤트들은 </code><code>browser의 프레임이나 또는 </code><code>tabbrowser</code>, 브라우저들의 안에 존재해야 될 것입니다.</p> -<p>아래 리스트는 여러분이 여러 상황을 모니터하기 원하는 좀 더 흥미로운 DOM 이벤트들입니다.</p> -<table class="standard-table"> - <tbody> - <tr> - <td class="header">이벤트</td> - <td class="header">설명</td> - </tr> - <tr> - <td><code>DOMLinkAdded</code></td> - <td>새로운 HTML <a class="internal" href="/en/HTML/Element/link" title="En/HTML/Element/Link"><code><link></code></a> 요소를 문서에서 감지했을 때 dispatch됩니다.</td> - </tr> - <tr> - <td><code>DOMTitleChanged</code></td> - <td>페이지의 타이틀이 변경 되었을 때 dispatch됩니다.</td> - </tr> - <tr> - <td><code>DOMContentLoaded</code></td> - <td>페이지의 초기 DOM이 완전히 로드되었을 때 dispatch됩니다.</td> - </tr> - <tr> - <td><code>load</code></td> - <td>dispatch된 후에 페이지가(이미지를 포함하여) 처음으로 로딩을 완료했을 때.</td> - </tr> - <tr> - <td><code>unload</code></td> - <td>유저가 페이지로부터 떨어져 탐색할 때 dispatch됩니다.</td> - </tr> - <tr> - <td><code>pageshow</code></td> - <td>페이지가 새롭게 표시되었을 때 dispacth됩니다.</td> - </tr> - <tr> - <td><code>pagehide</code></td> - <td>페이지가 감춰졌을 때 dispatch됩니다.</td> - </tr> - </tbody> -</table> -<p><code>load</code>, <code>unload</code>, <code>pageshow</code> and <code>pagehide 이벤트의 dispatch 유무에 대해서는 </code><a class="internal" href="/En/Using_Firefox_1.5_caching" title="En/Using Firefox 1.5 caching">Firefox's caching behaviour</a>의 기사에서 더 자세하게 다룹니다.</p> -<h3 id="웹_progress의_listener들">웹 progress의 listener들</h3> -<p>웹 로드들의 자세한 내용을 보려면 web progress listener를 사용하면 됩니다. 이들은 웹에서 데이터 로드의 progress 상황에 대한 자세한 내용을 제공합니다. 아래는 <code>browser</code> 와 <code>tabbrowser를 요소들을 지원하는 코드입니다:</code></p> -<pre>var progressListener = { - // add nsIWebProgressImplementation here -} - -b.addProgressListener(progressListener); -</pre> -<p><code>위에서 b는 여러분이 </code><code>이벤트들에 대해 litsen하기 원하는</code><code> </code><code>browser</code> 또는 <code>tabbrowser 입니다.</code><code> </code><a class="internal" href="/en/Code_snippets/Progress_Listeners" title="en/Code snippets/Progress Listeners">using web progress listeners</a>의 링크는 코드 snippet의 더 자세한 사용 가능을 다룹니다.</p> -<p>tabbrowser는 오직 현재 이벤트가 발생할 때 표시하는 브라우저부터 이벤트들을 받을 수 있습니다. 모든 브라우저들로부터 이벤트들을 listen하기 위해서는 현재 이벤트에 대해 표시하지않는 코드를 포함하면 됩니다. 아래는 그 예를 설명합니다:</p> -<pre>var tabsProgressListener = { - // add tabs progress listener implementation here -} - -gBrowser.addTabsProgressListener(tabsProgressListener); -</pre> -<p>이렇게 하면 여러분은 모든 tab들과 관련된 이벤트들을 받을 수 있습니다. <a class="internal" href="/En/Listening_to_events_on_all_tabs" title="En/Listening to events on all tabs"><span class="external">listening to events from all tabs</span></a> 링크는 더 자세한 사용 가능을 다룹니다.</p> -<p></p><div class="blockIndicator standardNote standardNoteBlock"> - <p><a href="https://developer.mozilla.org/ko/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 note</a></p> - <p style="font-weight: 400;">모든 탭들로부터 이벤트들을 listen하는 능력은 Firefox 3.5. 버전에 포함 되었습니다.</p> -</div><p></p> -<h2 id="파이어폭스에서는_이벤트들을_어떻게_처리하는가">파이어폭스에서는 이벤트들을 어떻게 처리하는가</h2> -<p>파이어 폭스에서는 이미 어느 정도 progress 이벤트들을 웹 페이지들로 부터 listen합니다. 이 중 대부분은 <code>browser로 가게됩니다.js.</code></p> -<h3 id="DOMLinkHandler">DOMLinkHandler</h3> -<p><code>DOMLinkHandler 오브젝트는 </code><code>어떤 RSS 피드들이나 사이트 아이콘들, 또는 웹 사이트에 대한 오픈서치 플러그인을 감지하기 위한 DOMLinkAdded 이벤트라고 할 수 있습니다.</code></p> -<h3 id="pageShowEventHandlers">pageShowEventHandlers</h3> -<p><code>pageShowEventHandlers()</code> 함수는 메뉴에 문자세트를 삽입하거나 피드(feed)들을 감지 또는 웹 사이틀을 위한 오픈서치 플러그인과 관련된 UI 요소들의 업데이트 등의 <code>pageshow 이벤트라고 할 수 있습니다.</code></p> -<h3 id="XULBrowserWindow">XULBrowserWindow</h3> -<p>이 오브젝트는 현재 브라우저에 표시되고 있는 이벤트들의 progress를 얻기 위한 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebProgressListener" title="">nsIWebProgressListener</a></code>입니다. 이 오브젝트는 아래와 같은 많은 이유로 UI를 업데이트하기 위해 사용합니다:</p> -<ul> - <li>progress 바의 업데이트와 페이지를 불러오는 과정의 status 메시지</li> - <li>페이지를 로드 할 때의 실행색인기를 켜고 끔.</li> - <li>사이트 아이콘을 배치할 때</li> - <li>사용자가 인터넷을 이용 할 때 주소창의 업데이트</li> - <li>사용자가 인터넷을 항해 할 때 알림 표시줄을 적절한 때에 숨기기</li> - <li>페이지들를 새로고침 하여도 사이트를 확대해서 보는 설정을 그대로 적용하기.</li> - <li>북마크 버튼 UI을 활성화 하기.</li> - <li>사이트의 보안 변경에 대한 표시를 알릴 때.</li> -</ul> -<h3 id="TabsProgressListener">TabsProgressListener</h3> -<p>이 오브젝트는 탭들의 progress listener 와 윈도우 안의 모든 브라우저에 대한 이벤트들을 받을 수 있습니다. 웹페이지가 새로고침을 시도할 때나 이를 저지하려는 시도를 사용자가 허락 할 때를 감지하는데 사용됩니다.</p> -<h2 id="tabbrowser는_이벤트를_어떻게_처리하는가">tabbrowser는 이벤트를 어떻게 처리하는가</h2> -<p><code>tabbrowser는 </code>두가지 모드 중 한가지로 실행됩니다. 처음에는 non-tabbed 모드로 시작하고 이 모드는 아래와 같은 상황이 발생하기 전까지 유지 됩니다.</p> -<ul> - <li>탭바가 보여질 때</li> - <li>탭이 추가되었을 때</li> - <li>한개 보다 많은 webprogress listener가 추가 되었을 때</li> - <li>탭 progress listener가 추가 되었을 때</li> -</ul> -<h3 id="Non-tabbed_모드">Non-tabbed 모드</h3> -<p>non-tabbed 모드에서, <code>tabbrowser는 </code>오직 하나의 탭만이 존재 할 수 있습니다. 이 모드에서는 단 하나의 web progress listener만이 브라우저로부터 progress 이벤트의 listen을 추가할 수있습니다. 첫째로 <code>browser-status-filter를 만들고 브라우저에 대한 </code>web progress listener를 추가 합니다. 다음은 브라우저로부터 모든 web progress 이벤트들을 받기 위한 내부 오브젝트를 만듭니다. 이는 <code>mTabProgressListener()</code> 메소드가 처리합니다. 이것은 <code>browser-status-filte로부터 이벤트들을 받습니다. </code>필터 성능 향상을 위해 진행 상태 및 이벤트의 수를 줄이는 역할을 합니다.<code> 필터들은 </code><code>mTabListeners<span style="font-family: Verdana,Tahoma,sans-serif;"><span style="font-family: monospace;">가 배열된 내부</span></span></code><code> </code>listener<code>와 </code><code>mFilters의 배열</code><code>로 도움을 받습니다. 내부 </code>listener들은 progress 이벤트들을 <a class="internal" href="/en/XUL/Method/addProgressListener" title="En/XUL/Method/AddProgressListener"><code>addProgressListener()</code></a> (현재 보이는 브라우저부터 받은 이벤트들)와 <a class="internal" href="/En/XUL/Method/AddTabsProgressListener" title="En/XUL/Method/AddTabsProgressListener"><code>addTabsProgressListener()</code></a> (모든 브라우저로부터 받은 이벤트들)가 지정된 listener들로 내보내게 됩니다.</p> -<p> </p> -<h2 id="또_보기">또 보기</h2> -<ul> - <li><a class="internal" href="/en/DOM/event" title="En/DOM/Event"><code>event</code></a></li> - <li><a class="internal" href="/En/Listening_to_events_on_all_tabs" title="En/Listening to events on all tabs">Listening to events on all tabs</a></li> - <li><a class="internal" href="/En/DOM/Mouse_gesture_events" title="en/Mouse gesture events">Mouse gesture events</a></li> - <li><a class="internal" href="/en/Code_snippets/Progress_Listeners" title="en/Code snippets/Progress Listeners">Code snippets: Progress listeners</a></li> -</ul> |