aboutsummaryrefslogtreecommitdiff
path: root/files/ko/places/accessing_bookmarks/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ko/places/accessing_bookmarks/index.html')
-rw-r--r--files/ko/places/accessing_bookmarks/index.html81
1 files changed, 81 insertions, 0 deletions
diff --git a/files/ko/places/accessing_bookmarks/index.html b/files/ko/places/accessing_bookmarks/index.html
new file mode 100644
index 0000000000..76d52c1ab7
--- /dev/null
+++ b/files/ko/places/accessing_bookmarks/index.html
@@ -0,0 +1,81 @@
+---
+title: Accessing Bookmarks
+slug: Places/Accessing_Bookmarks
+tags:
+ - Firefox 3
+ - Places
+translation_of: Mozilla/Tech/Places/Manipulating_bookmarks_using_Places
+---
+<p></p>
+<p>이 문서는 북마크 트리의 일부를 빠르게 구하기를 원하는 사람들을 위한 빠른 시작을 제공합니다. 북마크는 <a href="ko/Places/Query_System">플레이스 질의 시스템</a>을 이용하여 구할 수 있으며, 이는 더 일반적인 정보를 담고 있습니다. 북마크 서비스 API에 대해서는 <a href="ko/Places/Bookmarks_Service">북마크 서비스</a>를 참고하시기 바랍니다.</p>
+<h3 id=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.96.BB.EA.B8.B0" name=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.96.BB.EA.B8.B0">질의와 옵션 개체 얻기</h3>
+<p>모든 질의는 히스토리 서비스를 통해 실행합니다. 먼저 히스토리 서비스에서 빈 질의와 옵션 개체를 얻어야 합니다.</p>
+<pre>var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
+ .getService(Components.interfaces.nsINavHistoryService);
+var options = historyService.getNewQueryOptions();
+var query = historyService.getNewQuery();
+</pre>
+<h3 id=".EC.9B.90.ED.95.98.EB.8A.94_.ED.8F.B4.EB.8D.94_.EC.B0.BE.EA.B8.B0" name=".EC.9B.90.ED.95.98.EB.8A.94_.ED.8F.B4.EB.8D.94_.EC.B0.BE.EA.B8.B0">원하는 폴더 찾기</h3>
+<p>알려진 폴더 ID는 북마크 서비스에서 구할 수 있습니다. <code><a href="https://dxr.mozilla.org/mozilla-central/source//toolkit/components/places/public/nsINavBookmarksService.idl" rel="custom">/toolkit/components/places/public/nsINavBookmarksService.idl</a></code>에 정의된 속성은 <code>bookmarksMenuFolder</code>, <code>tagsFolder</code>, <code>unfiledBookmarksFolder</code>, <code>toolbarFolder</code>입니다. 이전 질의에서 폴더 ID를 얻을 수도 있습니다.</p>
+<p>이 예제는 북마크 도구 막대의 ID를 얻는 것입니다.</p>
+<pre>var bookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
+ .getService(Components.interfaces.nsINavBookmarksService);
+var toolbarFolder = bookmarksService.toolbarFolder;
+</pre>
+<p><code>placesRoot</code>는 전체 플레이스 계층 구조의 최상위 폴더입니다. 이는 사용자 데이터 뿐만 아니라 관리 데이터를 포함하고 있어서 질의에 사용하는 것은 바람직하지 않습니다.</p>
+<h3 id=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.B1.84.EC.9A.B0.EA.B8.B0" name=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.B1.84.EC.9A.B0.EA.B8.B0">질의와 옵션 개체 채우기</h3>
+<p>전체 북마크 트리를 원하면 그룹화 옵션 <code>GROUP_BY_FOLDER</code>을 사용해야 합니다. 현재, 질의 시스템은 이 플래그가 필요하지 않으며 정확하게 한 폴더의 내용을 요청하면 항상 계층 구조를 반환합니다. 이는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=331487" title="Fix GROUP_BY_FOLDER in query system">bug 331487</a>입니다. 버그가 수정되면 <code>GROUP_BY_FOLDER</code>이 없는 북마크 질의는 모든 폴더와 서브폴더에서 질의에 부합하는 모든 북마크의 단순 목록을 반환할 것입니다.</p>
+<p>통상의 북마크 질의에서 여러분은 하나의 최상위 폴더를 갖습니다. 질의 개체에서 이 폴더는 <code>setFolders</code>에 주어집니다.</p>
+<pre>options.setGroupingMode([options.GROUP_BY_FOLDER],1);
+query.setFolders([toolbarFolder], 1);
+</pre>
+<h3 id=".EC.A7.88.EC.9D.98_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name=".EC.A7.88.EC.9D.98_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">질의 실행하기</h3>
+<p><code>executeQuery</code> 및 <code>executeQueries</code> 함수는 질의 결과를 포함한 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResult" title="">nsINavHistoryResult</a></code> 개체를 반환합니다.</p>
+<pre>var result = historyService.executeQuery(query, options);
+</pre>
+<h3 id=".EA.B2.B0.EA.B3.BC_.EC.96.BB.EA.B8.B0" name=".EA.B2.B0.EA.B3.BC_.EC.96.BB.EA.B8.B0">결과 얻기</h3>
+<p>(예제와 같이) 키워드나 날짜 범위와 같은 고급 매개 변수가 없이 폴더로 분류된 딱 하나의 폴더를 질의할 때, 결과의 <code>root</code>는 폴더에 해당하는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryContainerResultNode" title="">nsINavHistoryContainerResultNode</a></code>가 됩니다. 질의가 복잡하거나 <code>GROUP_BY_FOLDER</code>를 사용하지 않았다면 루트는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryResultNode" title="">nsINavHistoryQueryResultNode</a></code>가 됩니다.</p>
+<p>결과 콘테이너의 자식을 접근하기 전에 먼저 그것을 열고 나서 자식을 탐색할 수 있습니다. 콘테이너가 열려 있는 동안 북마크 시스템의 공지를 듣고 자신을 최신 상태로 유지하게 됩니다. 작업을 마치면 꼭 콘테이너를 닫아 자원을 해제하십시오. 그렇지 않으면 콘테이너는 계속 알림을 받고 자신을 갱신하여 전체 브라우저를 느리게 합니다.</p>
+<pre>var rootNode = result.root;
+rootNode.containerOpen = true;
+
+// iterate over the immediate children of this folder and dump to console
+for (var i = 0; i &lt; rootNode.childCount; i ++) {
+ var node = rootNode.getChild(i);
+ dump("Child: " + node.title + "\n");
+}
+
+// close a container after using it!
+rootNode.containerOpen = false;
+</pre>
+<p><code>RESULT_TYPE_FOLDER</code> 형식이나 다른 형식의 노드를 만나면 이 폴더를 열고 계층 구조의 아래로 내려갈 수 있습니다. 여러 가지 결과 형식을 이해하려면 <a href="ko/Places/Query_System">플레이스:질의 시스템</a>의 "결과 이용하기" 섹션을 참고하시기 바랍니다.</p>
+<h3 id=".EC.A0.84.EC.B2.B4_.EC.BD.94.EB.93.9C" name=".EC.A0.84.EC.B2.B4_.EC.BD.94.EB.93.9C">전체 코드</h3>
+<pre>var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
+ .getService(Components.interfaces.nsINavHistoryService);
+var options = historyService.getNewQueryOptions();
+var query = historyService.getNewQuery();
+
+var bookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
+ .getService(Components.interfaces.nsINavBookmarksService);
+var toolbarFolder = bookmarksService.toolbarFolder;
+
+//comment out the next line for now; the bug hasn't been fixed; final version should include the next line
+options.setGroupingMode([options.GROUP_BY_FOLDER],1);
+query.setFolders([toolbarFolder], 1);
+
+var result = historyService.executeQuery(query, options);
+var rootNode = result.root;
+rootNode.containerOpen = true;
+
+// iterate over the immediate children of this folder and dump to console
+for (var i = 0; i &lt; rootNode.childCount; i ++) {
+ var node = rootNode.getChild(i);
+ dump("Child: " + node.title + "\n");
+}
+
+// close a container after using it!
+rootNode.containerOpen = false;
+</pre>
+<div class="noinclude">
+  </div>
+<p></p>