「Places」の編集履歴(バックアップ)一覧はこちら

Places」(2015/05/13 (水) 12:18:45) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#contents() *基本情報 -[[Places - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places]] -[[nsINavBookmarksService - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavBookmarksService]] -[[Places utilities for JavaScript - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Places_utilities_for_JavaScript]] #highlight(javascript){{ Cu.import("resource://gre/modules/PlacesUtils.jsm"); Cu.import("resource://app/modules/PlacesUIUtils.jsm");}} *id の取得 **既存のフォルダの id |フォルダ|コード|h |すべてのブックマーク|PlacesUIUtils.allBookmarksFolderId| |ブックマークツールバー|PlacesUtils.toolbarFolderId| |ブックマークメニュー|PlacesUtils.bookmarksMenuFolderId| |未整理のブックマーク|PlacesUtils.unfiledBookmarksFolderId| |タグ|PlacesUtils.tagsFolderId| |Placesルート|PlacesUtils.placesRootId| タグはあまり使わないと思うし、Placesルートにいたっては通常は使うことは無いと思うが、Placesデータベース内では普通のフォルダとして存在する。 *id からアイテムの情報を取得 #highlight(javascript){{ var type = PlacesUtils.bookmarks.getItemType(id); var uri = PlacesUtils.bookmarks.getBookmarkURI(id); var title = PlacesUtils.bookmarks.getItemTitle(id); var index = PlacesUtils.bookmarks.getItemIndex(id); var parentFolderId = PlacesUtils.bookmarks.getFolderIdForItem(id); var folderReadonly = PlacesUtils.bookmarks.getFolderReadonly(id); }} *node の取得 **フォルダ id からフォルダ node を取得 #highlight(javascript){{ var result = PlacesUtils.getFolderContents(folderId); var node = result.root; }} result は [[nsINavHistoryResult>https://developer.mozilla.org/en-US/docs/nsINavHistoryResult]]。 node は [[nsINavHistoryContainerResultNode>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryContainerResultNode]]。 *取得した node で操作 **PlacesUtils によるノードの判別 情報古い #highlight(javascript){{ PlacesUtils.nodeIsFolder(node); PlacesUtils.nodeIsBookmark(node); PlacesUtils.nodeIsSeparator(node); PlacesUtils.nodeIsVisit(node); PlacesUtils.nodeIsURI(node); PlacesUtils.nodeIsQuery(node); PlacesUtils.nodeIsReadOnly(node); PlacesUtils.nodeIsHost(node); PlacesUtils.nodeIsDay(node); PlacesUtils.nodeIsTagQuery(node); PlacesUtils.nodeIsContainer(node); PlacesUtils.nodeIsHistoryContainer(node); PlacesUtils.nodeIsDynamicContainer(node); PlacesUtils.nodeIsLivemarkContainer(node); PlacesUtils.nodeIsLivemarkItem(node);}} **フォルダノードからフォルダの中身にアクセスし、処理する -[[nsINavHistoryResultNode - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResultNode]] -[[Querying Places - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Querying]] #highlight(javascript){{ Components.utils.import("resource://gre/modules/Services.jsm"); var folderNode = ??? //アクセスしたいフォルダのノード folderNode.containerOpen = true; // フォルダを開く var nodeCount = folderNode.childCount; for (var i = 0; i < nodeCount; i++) { let childNode = folderNode.getChild(i); switch (childNode.type) { case childNode.RESULT_TYPE_URI : // URIアイテムの処理。例えばエラーコンソールにタイトルとURLを列挙 Services.console.logStringMessage("Title:" + childNode.title + "\nURL:" + childNode.uri); break; case childNode.RESULT_TYPE_FOLDER : // フォルダの処理。例えば再帰処理 arguments.callee(childNode); break; case childNode.RESULT_TYPE_SEPARATOR : // セパレーターの処理 break; case ~ } } folderNode.containerOpen = false; // フォルダを閉じる}} *注釈(Annotation) -[[Using the Places annotation service - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Using_the_Places_annotation_service]] -[[nsIAnnotationService - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAnnotationService]] *その他の情報 #lsd()
#contents() *基本情報 -[[Places - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places]] -[[nsINavBookmarksService - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavBookmarksService]] -[[Places utilities for JavaScript - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Places_utilities_for_JavaScript]] #highlight(javascript){{ Cu.import("resource://gre/modules/PlacesUtils.jsm"); Cu.import("resource:///modules/PlacesUIUtils.jsm");}} *id の取得 **既存のフォルダの id |フォルダ|コード|h |すべてのブックマーク|PlacesUIUtils.allBookmarksFolderId| |ブックマークツールバー|PlacesUtils.toolbarFolderId| |ブックマークメニュー|PlacesUtils.bookmarksMenuFolderId| |未整理のブックマーク|PlacesUtils.unfiledBookmarksFolderId| |タグ|PlacesUtils.tagsFolderId| |Placesルート|PlacesUtils.placesRootId| タグはあまり使わないと思うし、Placesルートにいたっては通常は使うことは無いと思うが、Placesデータベース内では普通のフォルダとして存在する。 *id からアイテムの情報を取得 #highlight(javascript){{ var type = PlacesUtils.bookmarks.getItemType(id); var uri = PlacesUtils.bookmarks.getBookmarkURI(id); var title = PlacesUtils.bookmarks.getItemTitle(id); var index = PlacesUtils.bookmarks.getItemIndex(id); var parentFolderId = PlacesUtils.bookmarks.getFolderIdForItem(id); var folderReadonly = PlacesUtils.bookmarks.getFolderReadonly(id); }} *node の取得 **フォルダ id からフォルダ node を取得 #highlight(javascript){{ var result = PlacesUtils.getFolderContents(folderId); var node = result.root; }} result は [[nsINavHistoryResult>https://developer.mozilla.org/en-US/docs/nsINavHistoryResult]]。 node は [[nsINavHistoryContainerResultNode>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryContainerResultNode]]。 *取得した node で操作 **PlacesUtils によるノードの判別 情報古い #highlight(javascript){{ PlacesUtils.nodeIsFolder(node); PlacesUtils.nodeIsBookmark(node); PlacesUtils.nodeIsSeparator(node); PlacesUtils.nodeIsVisit(node); PlacesUtils.nodeIsURI(node); PlacesUtils.nodeIsQuery(node); PlacesUtils.nodeIsReadOnly(node); PlacesUtils.nodeIsHost(node); PlacesUtils.nodeIsDay(node); PlacesUtils.nodeIsTagQuery(node); PlacesUtils.nodeIsContainer(node); PlacesUtils.nodeIsHistoryContainer(node); PlacesUtils.nodeIsDynamicContainer(node); PlacesUtils.nodeIsLivemarkContainer(node); PlacesUtils.nodeIsLivemarkItem(node);}} **フォルダノードからフォルダの中身にアクセスし、処理する -[[nsINavHistoryResultNode - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResultNode]] -[[Querying Places - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Querying]] #highlight(javascript){{ Components.utils.import("resource://gre/modules/Services.jsm"); var folderNode = ??? //アクセスしたいフォルダのノード folderNode.containerOpen = true; // フォルダを開く var nodeCount = folderNode.childCount; for (var i = 0; i < nodeCount; i++) { let childNode = folderNode.getChild(i); switch (childNode.type) { case childNode.RESULT_TYPE_URI : // URIアイテムの処理。例えばエラーコンソールにタイトルとURLを列挙 Services.console.logStringMessage("Title:" + childNode.title + "\nURL:" + childNode.uri); break; case childNode.RESULT_TYPE_FOLDER : // フォルダの処理。例えば再帰処理 arguments.callee(childNode); break; case childNode.RESULT_TYPE_SEPARATOR : // セパレーターの処理 break; case ~ } } folderNode.containerOpen = false; // フォルダを閉じる}} *注釈(Annotation) -[[Using the Places annotation service - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Using_the_Places_annotation_service]] -[[nsIAnnotationService - Mozilla | MDN>https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAnnotationService]] *その他の情報 #lsd()

表示オプション

横に並べて表示:
変化行の前後のみ表示: