From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../api/bookmarks/bookmarktreenode/index.html | 91 ++++++++++++++ .../api/bookmarks/bookmarktreenodetype/index.html | 39 ++++++ .../bookmarktreenodeunmodifiable/index.html | 74 +++++++++++ .../webextensions/api/bookmarks/create/index.html | 98 +++++++++++++++ .../api/bookmarks/createdetails/index.html | 81 ++++++++++++ .../webextensions/api/bookmarks/export/index.html | 114 +++++++++++++++++ .../webextensions/api/bookmarks/get/index.html | 102 +++++++++++++++ .../api/bookmarks/getchildren/index.html | 126 +++++++++++++++++++ .../api/bookmarks/getrecent/index.html | 97 ++++++++++++++ .../api/bookmarks/getsubtree/index.html | 125 ++++++++++++++++++ .../webextensions/api/bookmarks/gettree/index.html | 117 +++++++++++++++++ .../webextensions/api/bookmarks/import/index.html | 114 +++++++++++++++++ .../add-ons/webextensions/api/bookmarks/index.html | 130 +++++++++++++++++++ .../webextensions/api/bookmarks/move/index.html | 107 ++++++++++++++++ .../api/bookmarks/onchanged/index.html | 138 ++++++++++++++++++++ .../api/bookmarks/onchildrenreordered/index.html | 130 +++++++++++++++++++ .../api/bookmarks/oncreated/index.html | 104 +++++++++++++++ .../api/bookmarks/onimportbegan/index.html | 110 ++++++++++++++++ .../api/bookmarks/onimportended/index.html | 110 ++++++++++++++++ .../webextensions/api/bookmarks/onmoved/index.html | 139 +++++++++++++++++++++ .../api/bookmarks/onremoved/index.html | 135 ++++++++++++++++++++ .../webextensions/api/bookmarks/remove/index.html | 96 ++++++++++++++ .../api/bookmarks/removetree/index.html | 101 +++++++++++++++ .../webextensions/api/bookmarks/search/index.html | 135 ++++++++++++++++++++ .../webextensions/api/bookmarks/update/index.html | 117 +++++++++++++++++ 25 files changed, 2730 insertions(+) create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/create/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/export/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/get/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/import/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/move/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/remove/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/search/index.html create mode 100644 files/ja/mozilla/add-ons/webextensions/api/bookmarks/update/index.html (limited to 'files/ja/mozilla/add-ons/webextensions/api/bookmarks') diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.html new file mode 100644 index 0000000000..a6db52f663 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.html @@ -0,0 +1,91 @@ +--- +title: bookmarks.BookmarkTreeNode +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode +tags: + - API + - Add-ons + - BookmarkTreeNode + - Bookmarks + - Extensions + - Non-standard + - Reference + - Type + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode +--- +
{{AddonSidebar()}}
+ +

bookmarks.BookmarkTreeNode 型のオブジェクトは、ブックマークツリー上のノード(ブックマーク / フォルダ)を表現するものです。子ノードは親フォルダの中で index に従って順序付けされます。

+ +

値の型

+ +

以下のプロパティを含む {{jsxref("object")}} です。

+ +
+
id
+
そのノードを一意に識別する {{jsxref("string")}} です。この ID はユーザのプロファイル内で固有であり、ブラウザを再起動した後も有効です。
+
parentId {{optional_inline}}
+
親フォルダの ID を表す {{jsxref("string")}} です。ルートノードの場合は省略されます。
+
index {{optional_inline}}
+
親フォルダの中におけるノードの位置を表す 0 以上の {{jsxref("number")}} です。0 は先頭の要素を意味します。
+
url {{optional_inline}}
+
ブックマークの URL を表す {{jsxref("string")}} です。フォルダの場合は省略されます。
+
title
+
ブックマークリストやメニューにノードが表示される際のテキストを表す {{jsxref("string")}} です。
+
dateAdded {{optional_inline}}
+
このノードが生成された時刻を 1970 年 1 月 1 日からの経過ミリ秒 で表す {{jsxref("number")}} です。
+
dateGroupModified {{optional_inline}}
+
その内容の最終変更時刻を 1970 年 1 月 1 日からの経過ミリ秒 で表す {{jsxref("number")}} です。
+
unmodifiable {{optional_inline}}
+
{{WebExtAPIRef('bookmarks.BookmarkTreeNodeUnmodifiable')}} 型で表現される {{jsxref("string")}} です。このノードが変更不可である理由を表します。変更可能な場合には省略されます。
+
children {{optional_inline}}
+
各要素がノードの子要素を表す、{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} の {{jsxref("array")}} です。リストの要素は UI に表示されているのと同じ順序で並びます。フォルダの場合は省略されます。
+
+ +
+

現在、ブックマークリストのセパレータをこのオブジェクトで表すことはできません。

+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.BookmarkTreeNode", 10)}}

+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.html new file mode 100644 index 0000000000..8a87f614ea --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.html @@ -0,0 +1,39 @@ +--- +title: bookmarks.BookmarkTreeNodeType +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeType +tags: + - API + - Add-ons + - BookmarkTreeNodeType + - Bookmarks + - Extensions + - Property + - Reference + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeType +--- +
{{AddonSidebar()}}
+ +

bookmarks.BookmarkTreeNodeType 型は、ブックマークツリーのノードがブックマーク、フォルダーまたはセパレーターであるかどうかを示すために使用されます。

+ +

+ +

bookmarks.BookmarkTreeNodeType は以下の 3 つのうちいずれかの値を取りうる {{jsxref("string")}} です。

+ + + +

ブラウザー実装状況

+ + + +

{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeType", 10)}}

+ + + +

{{WebExtExamples}}

diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.html new file mode 100644 index 0000000000..2d8575e341 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.html @@ -0,0 +1,74 @@ +--- +title: bookmarks.BookmarkTreeNodeUnmodifiable +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeUnmodifiable +tags: + - API + - Add-ons + - BookmarkTreeNodeUnmodifiable + - Bookmarks + - Extensions + - Non-standard + - Reference + - Type + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeUnmodifiable +--- +

{{AddonSidebar()}}

+ +

bookmarks.BookmarkTreeNodeUnmodifiable 型は、ブックマークツリー上のノード(ブックマーク / フォルダー)が変更不可な理由を表すものです。この型は、ブックマークノードの {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "bookmarks.BookmarkTreeNode.unmodifiable", "unmodifiable")}} プロパティで使用されます。

+ +

値の型

+ +

この値は {{jsxref("string")}} 型であり、現在取りうる値は "managed" のみです。すなわち、システム管理者(ペアレンタルコントロールが有効な場合は保護者)がこのブックマークノードを設定したことを意味します。

+ +

ブラウザー実装状況

+ + + + + +

{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeUnmodifiable")}}

+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/create/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/create/index.html new file mode 100644 index 0000000000..1e4a2c36fe --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/create/index.html @@ -0,0 +1,98 @@ +--- +title: bookmarks.create() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/create +tags: + - API + - Add-ons + - Bookmarks + - Create + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/create +--- +
{{AddonSidebar()}}
+ +

bookmarks.create() は、parentId で指定した {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} の配下に、ブックマークやフォルダを作成するメソッドです。フォルダを作成する場合は、{{WebExtAPIRef("bookmarks.CreateDetails", "CreateDetails", "url")}} の引数を省略するか空にします。

+ +

構文

+ +
browser.bookmarks.create(
+  bookmark, // CreateDetails
+  callback  // 関数(省略可)
+)
+
+ +

引数

+ +
+
bookmark
+
{{WebExtAPIRef('bookmarks.CreateDetails')}}
+
callback{{optional_inline}}
+
ブックマークが新しく作成された際に呼び出される {{jsxref("function")}} です。この関数は以下の引数を 1 つ受け取ります。
+
+
+
result
+
新しく作成されたブックマークノードを表す {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.create")}}

+ +

使用例

+ +

以下の例は、このページのブックマークをデフォルトのフォルダ(Firefox は「未分類のブックマーク」、Chrome は「その他のブックマーク」)に作成するものです。

+ +
function onBookmarkAdded(bookmarkItem) {
+  console.log("Bookmark added with ID: " + bookmarkItem.id);
+}
+
+chrome.bookmarks.create({
+  title: "bookmarks.create() on MDN",
+  url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create"
+}, onBookmarkAdded);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードに基づいています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.html new file mode 100644 index 0000000000..b7463079da --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.html @@ -0,0 +1,81 @@ +--- +title: bookmarks.CreateDetails +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/CreateDetails +tags: + - API + - Add-ons + - Bookmarks + - CreateDetails + - Extensions + - Non-standard + - Reference + - Type + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/CreateDetails +--- +

{{AddonSidebar()}}

+ +

CreateDetails 型は、新しいブックマークやフォルダのプロパティを表すためのオブジェクト型です。{{WebExtAPIRef("bookmarks.create()")}} メソッドの呼び出し時に渡します。

+ +
+

現在、ブックマークリストのセパレータをこのオブジェクト型で表すことはできません。

+
+ +

値の型

+ +

以下のプロパティを含む {{jsxref("object")}} です。

+ +
+
parentId{{optional_inline}}
+
新しいブックマーク / フォルダの親フォルダを指定する {{jsxref("string")}} です。デフォルト値はブラウザによって異なり、Chrome の場合は「その他のブックマーク」、Firefox の場合は「未分類のブックマーク」です。
+
index{{optional_inline}}
+
親要素の配下における、新しいブックマーク / フォルダの位置を指定する {{jsxref("number")}} です。値が 0 の場合、リストの先頭に置かれます。
+
title{{optional_inline}}
+
作成するブックマークのタイトルやフォルダの名前を指定する {{jsxref("string")}} です。値を省略した場合、タイトルは "" になります。
+
url{{optional_inline}}
+
ブックマークの URL を指定する {{jsxref("string")}} です。値を省略するか null を指定した場合、ブックマークではなくフォルダが作成されます。
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.CreateDetails", 10)}}

+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/export/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/export/index.html new file mode 100644 index 0000000000..381e471807 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/export/index.html @@ -0,0 +1,114 @@ +--- +title: bookmarks.export() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/export +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - export +translation_of: Archive/Add-ons/bookmarks.export +--- +

{{AddonSidebar()}}

+ +

ブックマークを HTML ブックマークファイルにエクスポートします。

+ +

構文

+ +
browser.bookmarks.export(
+  function() {...} // 関数(省略可)
+)
+
+ +

Parameters

+ +
+
callback{{optional_inline}}
+
function.
+
+ +

ブラウザ実装状況

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + +
機能ChromeEdgeFirefox (Gecko)Opera
基本サポート{{ CompatVersionUnknown }}{{ CompatUnknown }}{{ CompatNo() }}{{ CompatOpera('33') }}
+
+ +
+ + + + + + + + + + + + + + + +
機能EdgeFirefox OSFirefox Mobile (Gecko)
基本サポート{{ CompatNo() }}{{ CompatNo() }}{{ CompatNo() }}
+
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/get/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/get/index.html new file mode 100644 index 0000000000..a3d5245abc --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/get/index.html @@ -0,0 +1,102 @@ +--- +title: bookmarks.get() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/get +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - get +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/get +--- +
{{AddonSidebar()}}
+ +

bookmarks.get() は、指定した {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} の ID(または ID の配列)にマッチするノードを取得するメソッドです。

+ +

構文

+ +
browser.bookmarks.get(
+  idOrIdList, // 文字列または文字列の配列
+  callback    // 関数
+)
+
+ +

引数

+ +
+
idOrIdList
+
取得したい {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} オブジェクトの ID を指定した {{jsxref("string")}} または {{jsxref("string")}} の {[jsxref("array")}} です。
+
callback
+
ノードが取得された際に実行される {{jsxref("function")}} です。この関数には以下の引数が渡ります。
+
+
+
results
+
各要素が {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} である、マッチしたノードの {{jsxref("array")}} です。セパレータは結果の戻り値に含まれません。ノードが見つからなかった場合の resultsundefined となり、{{WebExtAPIRef("runtime.lastError")}} がセットされます。
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.get")}}

+ +

使用例

+ +

以下の例は、特定の ID を持つブックマークが存在するかどうかを確認するものです。

+ +
function onGot(bookmarkItems) {
+  if (bookmarkItems) {
+    console.log("bookmark exists!");
+  } else {
+    console.log("bookmark does not exist!");
+    console.log("lasterror: " + chrome.runtime.lastError);
+  }
+}
+
+function doesBookmarkExist(bookmarkId) {
+  browser.bookmarks.get(bookmarkId, onGot);
+}
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードに基づいて作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.html new file mode 100644 index 0000000000..6a489247c5 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.html @@ -0,0 +1,126 @@ +--- +title: bookmarks.getChildren() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/getChildren +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - getChildren +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getChildren +--- +

{{AddonSidebar()}}

+ +

bookmarks.getChildren() は、ブックマークフォルダの ID を {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} で指定し、その直下にあたる子要素をすべて取得します。

+ +

構文

+ +
browser.bookmarks.getChildren(
+  id,      // 文字列
+  callback // 関数
+)
+
+ +

Parameters

+ +
+
id
+
取得したい子要素を持つフォルダ ID を指定する {{jsxref("string")}} です。
+
callback
+
子ノードのリストが取得された際に実行される関数です。この関数には以下の引数が渡ります。
+
+
+
results
+
各要素が 1 つの子ノードを表す、{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} の {{jsxref("array")}} です。要素の順序は、UI に表示されているのと同じ順番です。現在、セパレータの有無は結果に含まれません。指定したノードに子要素が含まれていなかった場合、results は空配列となります。
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.getChildren")}}

+ +

使用例

+ +

基本的な使い方

+ +
function gotChildren(children) {
+  console.log(children);
+}
+
+chrome.bookmarks.getChildren(bookmarkItemId, gotChildren);
+ +

指定したフォルダでブックマークを切替

+ +

以下の例は、フォルダを {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} で指定し、そのフォルダに新しいブックマークを作成するものです。ただし、既に同じ名前のブックマークがあった場合は、逆に既存のブックマークを削除することとします。このとき新しいブックマークは作成されません。

+ +
function toggleBookmark(folderNode, title, url) {
+  chrome.bookmarks.getChildren(folderNode.id, function(results) {
+    let node = results.find(function(el) {
+      return el.title === title;
+    });
+
+    // ブックマークが存在する場合は削除する
+    // そうでなければ新しく作成する
+
+    if (node !== undefined) {
+      chrome.bookmarks.remove(node.id);
+    } else {
+      chrome.bookmarks.create({
+        parentId: folderNode.id,
+        title: title,
+        url: url
+      });
+    }
+  });
+}
+ +

先の toggleBookmark() 関数は、folderNode で指定した {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} の中に既に存在しているすべてのブックマークのリストを取得するため、最初に bookmarks.getChildren() を呼び出しています。

+ +

コールバックに指定された匿名関数には results という引数が 1 つ渡されます。この引数は、フォルダの直下にある子要素をすべて含んだ配列です。まず初めに、与えられたタイトルを持つノードがフォルダに存在するかどうかを調べます。ここでは {{jsxref("Array.find()")}} メソッドを使い、タイトルが等しいかどうかをコールバック内で判定しています。

+ +

マッチするノードがあった場合(すなわち、nodeundefined ではない場合)、指定した title を持つブックマークが既に存在していたことが分かったので、既存のブックマークを削除するために {{WebExtAPIRef("bookmarks.remove()")}} を呼び出します。

+ +

そうではなかった場合、新しいブックマークを作成するために {{WebExtAPIRef("bookmarks.create()")}} が呼び出します。この際、引数 folderNode で与えられていたフォルダ ID を新しい親フォルダの ID に指定し、合わせて titleurl も指定します。

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.html new file mode 100644 index 0000000000..3900d1888f --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.html @@ -0,0 +1,97 @@ +--- +title: bookmarks.getRecent() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/getRecent +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - getRecent +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getRecent +--- +

{{AddonSidebar()}}

+ +

bookmarks.getRecent() は、最近に追加されたブックマークを指定した最大個数まで取得し、{{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}} オブジェクトの配列としてコールバック関数に渡します。

+ +

構文

+ +
browser.bookmarks.getRecent(
+  numberOfItems, // 整数
+  callback       // 関数
+)
+
+ +

引数

+ +
+
numberOfItems
+
取得する要素の最大個数を指定する整数です。最近追加された要素のうち、ここで指定した個数までが戻り値のリストに含まれます。
+
callback
+
リストが取得された際に実行される関数です。この関数には以下の引数が渡ります。
+
+
+
results
+
各要素が 1 つのブックマークノードを表す {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} オブジェクトの {{jsxref("array")}}
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.getRecent")}}

+ +

使用例

+ +

以下の例は、直近に追加されたブックマークの URL を出力するものです。

+ +
function gotMostRecent(bookmarkItems) {
+  if (bookmarkItems.length) {
+    console.log(bookmarkItems[0].url);
+  }
+}
+
+chrome.bookmarks.getRecent(1, gotMostRecent);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードに基づいて作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.html new file mode 100644 index 0000000000..c13185cd5a --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.html @@ -0,0 +1,125 @@ +--- +title: bookmarks.getSubTree() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/getSubTree +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - getSubTree +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getSubTree +--- +

{{AddonSidebar()}}

+ +

bookmarks.getSubTree() は、ID を指定して {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} を非同期に取得するメソッドです。

+ +

対象がフォルダの場合、children プロパティを再帰的にたどることで、すべての子要素にアクセスすることができます。

+ +

構文

+ +
browser.bookmarks.getSubTree(
+  id,      // 文字列
+  callback // 関数
+)
+
+ +

引数

+ +
+
id
+
取得したい部分木のルートノードに対応する ID を表す {{jsxref("string")}} です。
+
callback
+
リクエストしたノードが取得された際に呼び出される関数です。この関数には以下の引数が渡ります。
+
+
+
results
+
指定した ID に対応する {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} オブジェクトが 1 つ含まれた配列
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.getSubTree")}}

+ +

+ +

以下の例は、指定したノードの配下にある部分木を再帰的に出力するものです。

+ +
function makeIndent(indentLength) {
+  return ".".repeat(indentLength);
+}
+
+function logItems(bookmarkItem, indent) {
+  if (bookmarkItem.url) {
+    console.log(makeIndent(indent) + bookmarkItem.url);
+  } else {
+    console.log(makeIndent(indent) + "Folder");
+    indent++;
+  }
+  if (bookmarkItem.children) {
+    for (child of bookmarkItem.children) {
+      logItems(child, indent);
+    }
+  }
+  indent--;
+}
+
+function logSubTree(bookmarkItems) {
+  logItems(bookmarkItems[0], 0);
+}
+
+function handleClick() {
+  var subTreeID = "unfiled_____";
+  chrome.bookmarks.getSubTree(subTreeID, logSubTree);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ +

 

+ + + +

 

diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.html new file mode 100644 index 0000000000..b66987075d --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.html @@ -0,0 +1,117 @@ +--- +title: bookmarks.getTree() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/getTree +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - getTree +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getTree +--- +

{{AddonSidebar()}}

+ +

bookmarks.getTree() は、ブックマークツリーのルートを表した{{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} オブジェクトの配列を返します。

+ +

構文

+ +
browser.bookmarks.getTree(
+  callback // 関数
+)
+
+ +

引数

+ +
+
callback
+
ルートに相当するノードが取得された際に実行される関数です。この関数には以下の引数が渡ります。
+
+
+
results
+
+

ルートノードを表す {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} オブジェクトが 1 つ含まれた配列

+
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.getTree")}}

+ +

+ +

以下の例は、ブックマークツリー全体を出力するものです。

+ +
function makeIndent(indentLength) {
+  return ".".repeat(indentLength);
+}
+
+function logItems(bookmarkItem, indent) {
+  if (bookmarkItem.url) {
+    console.log(makeIndent(indent) + bookmarkItem.url);
+  } else {
+    console.log(makeIndent(indent) + "Folder");
+    indent++;
+  }
+  if (bookmarkItem.children) {
+    for (child of bookmarkItem.children) {
+      logItems(child, indent);
+    }
+  }
+  indent--;
+}
+
+function logTree(bookmarkItems) {
+  logItems(bookmarkItems[0], 0);
+}
+
+function handleClick() {
+  chrome.bookmarks.getTree(logTree);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
Acknowledgements + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/import/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/import/index.html new file mode 100644 index 0000000000..758b72dbfa --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/import/index.html @@ -0,0 +1,114 @@ +--- +title: bookmarks.import() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/import +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - import +translation_of: Archive/Add-ons/bookmarks.import +--- +

{{AddonSidebar()}}

+ +

ブックマークを HTML ブックマークファイルからインポートします。

+ +

構文

+ +
browser.bookmarks.import(
+  function() {...} // 関数(省略可)
+)
+
+ +

引数

+ +
+
callback{{optional_inline}}
+
function.
+
+ +

ブラウザ実装状況

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + +
機能ChromeEdgeFirefox (Gecko)Opera
基本サポート{{ CompatVersionUnknown }}{{ CompatUnknown }}{{ CompatNo() }}{{ CompatOpera('33') }}
+
+ +
+ + + + + + + + + + + + + + + +
機能EdgeFirefox OSFirefox Mobile (Gecko)
基本サポート{{ CompatNo() }}{{ CompatNo() }}{{ CompatNo() }}
+
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/index.html new file mode 100644 index 0000000000..c1c073c551 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/index.html @@ -0,0 +1,130 @@ +--- +title: bookmarks +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Interface + - Non-standard + - Reference + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks +--- +

{{AddonSidebar}}

+ +

WebExtensions {{WebExtAPIRef("bookmarks")}} API を利用すると、拡張機能からブラウザーのブックマークシステムにアクセスしたり、操作することができます。ページをブックマークしたり、既存のブックマークを取得したり、ブックマークを編集・削除・整理することが可能です。

+ +

この API を使用する際は、拡張機能の manifest.json ファイルで "bookmarks" パーミッション を指定する必要があります。

+ +

拡張機能ではブックマークツリーのルートノードではブックマークを作成・編集・削除できません。それをしようとすると次のエラーになります: "The bookmark root cannot be modified"

+ +

関連する値の型

+ +
+
{{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}
+
ブックマークツリー上のブックマークやフォルダーを表します。
+
{{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}}
+
ツリー内のノードがブックマークかフォルダーかセパレーターかを表す {{jsxref("string")}} の列挙型です。
+
{{WebExtAPIRef("bookmarks.BookmarkTreeNodeUnmodifiable")}}
+
ブックマークやフォルダーが変更不可である理由を表す {{jsxref("string")}} の列挙型です。
+
{{WebExtAPIRef("bookmarks.CreateDetails")}}
+
新しいブックマークを作成する際、{{WebExtAPIRef("bookmarks.create()")}} メソッドに渡す情報を含みます。
+
+ +

関数

+ +
+
{{WebExtAPIRef("bookmarks.create()")}}
+
ブックマークやフォルダーを作成します。
+
{{WebExtAPIRef("bookmarks.get()")}}
+
ブックマークの ID や ID の配列を指定し、1 つ以上の {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode(s)")}} を取得します。
+
{{WebExtAPIRef("bookmarks.getChildren()")}}
+
指定した {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} の子要素を取得します。
+
{{WebExtAPIRef("bookmarks.getRecent()")}}
+
最近追加されたブックマークを取得します。
+
{{WebExtAPIRef("bookmarks.getSubTree()")}}
+
指定したノードを起点とする、ブックマークツリーの部分木を取得します。
+
{{WebExtAPIRef("bookmarks.getTree()")}}
+
ブックマークのツリー全体を {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} オブジェクトの配列として取得します。
+
{{WebExtAPIRef("bookmarks.move()")}}
+
指定した {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} を所望の場所に移します。
+
{{WebExtAPIRef("bookmarks.remove()")}}
+
ノードの ID を指定し、ブックマークや空のブックマークフォルダーを削除します。
+
{{WebExtAPIRef("bookmarks.removeTree()")}}
+
ブックマークのフォルダーを再帰的に削除します。すなわち、フォルダーノードの ID を指定し、そのノードと子要素すべてを削除します。
+
{{WebExtAPIRef("bookmarks.search()")}}
+
与えた条件に一致する {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNodes")}} を検索します。
+
{{WebExtAPIRef("bookmarks.update()")}}
+
ブックマークの ID を指定し、ブックマークの URL やタイトル、またはフォルダーの名前を更新します。
+
+ +

Events

+ +
+
{{WebExtAPIRef("bookmarks.onCreated")}}
+
ブックマークやフォルダーが作成された際に発火します。
+
{{WebExtAPIRef("bookmarks.onRemoved")}}
+
ブックマークやフォルダーが削除された際に発火します。フォルダーが再帰的に削除された場合は、そのフォルダーに対して一回だけ発火し、フォルダーの中身については発火しません。
+
{{WebExtAPIRef("bookmarks.onChanged")}}
+
ブックマークやフォルダーが変更された際に発火します。現在は title と url の変更に対してのみ発火します。
+
{{WebExtAPIRef("bookmarks.onMoved")}}
+
異なる親フォルダーへ、または同じフォルダー内の異なる場所へブックマークやフォルダーが移された際に発火します。
+
{{WebExtAPIRef("bookmarks.onChildrenReordered")}}
+
UI で表示されている順序に伴って子フォルダーの順序も変更された際に発火します。{{WebExtAPIRef("bookmarks.move", "move()")}} の実行後には発火しません。
+
{{WebExtAPIRef("bookmarks.onImportBegan")}}
+
ブックマークのインポートが開始した際に発火します。パフォーマンスが重要である場合、イベントのオブザーバは {{WebExtAPIRef("bookmarks.onImportEnded")}} が発火するまで {{WebExtAPIRef("bookmarks.onCreated")}} を無視すべきでしょう。その場合であっても、オブザーバは他のイベントについては即座に処理すべきでしょう。
+
{{WebExtAPIRef("bookmarks.onImportEnded")}}
+
ブックマークのインポートが終了した際に発火します。
+
+ +

ブラウザー実装状況

+ +

{{Compat("webextensions.api.bookmarks")}}

+ + + +

{{WebExtExamples("h2")}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードに基づいています。

+ +

Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/move/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/move/index.html new file mode 100644 index 0000000000..c164626551 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/move/index.html @@ -0,0 +1,107 @@ +--- +title: bookmarks.move() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/move +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/move +--- +

{{AddonSidebar()}}

+ +

bookmarks.move() は、指定した {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} をブックマークツリー内の所望の位置に移すメソッドです。このメソッドにより、ブックマークを新しいフォルダの中や、同じフォルダ内の別の場所に移動させることができます。

+ +

構文

+ +
browser.bookmarks.move(
+  id,          // 文字列
+  destination, // オブジェクト
+  callback     // 関数(省略可)
+)
+
+ +

引数

+ +
+
id
+
移動させるブックマーク / フォルダの ID を表す {{jsxref("string")}} です。
+
destination
+
ブックマークの移動先を表す {{jsxref("object")}} です。このオブジェクトには以下のプロパティが必ず 1 つ以上含まれます。
+
+
+
parentId {{optional_inline}}
+
移動先フォルダの ID を指定する {{jsxref("string")}} です。この値が省略された場合、現在と同じフォルダ内の新しい場所へ移動されます。
+
index {{optional_inline}}
+
移動先フォルダ内における位置を指定する 0 起点のインデックスです。値が 0 の場合、そのフォルダの先頭に移動されます。値が省略された場合、新しい親フォルダ内の最後に移動されます。
+
+
+
callback {{optional_inline}}
+
移動が終了した際に呼び出される {{jsxref("function")}} です。この関数は以下の引数を 1 つ受け取ります。
+
+
+
result
+
移動された新しいノードを表す {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}}
+
+ +

 

+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.move")}}

+ +

使用例

+ +

ブックマークを現在のフォルダの先頭へ移動

+ +

次の例は、既存のブックマークを現在のフォルダの先頭へ移動させるものです。移動後に必要な処理は特にないため、ここではコールバック無しで呼び出しています。

+ +
browser.bookmarks.move(bookmarkID, { index: 0 });
+ +

ブックマークを異なるフォルダへ移動

+ +

以下の例は、ID で指定したブックマークを、別の ID で指定したフォルダへ移動させる関数です。今回は、移動後に実行されるコールバック関数も指定しています。

+ +
function moveToFolder(bookmarkId, destinationId) {
+  browser.bookmarks.move(bookmarkId, { parentId: destinationId },
+                         function(updatedNode) {
+    /* ブックマークの移動後に行う処理 */
+  });
+}
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium chrome.bookmarks API に基づいています。また、このドキュメントbookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.html new file mode 100644 index 0000000000..bf6cf83ce7 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.html @@ -0,0 +1,138 @@ +--- +title: bookmarks.onChanged +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onChanged +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onChanged +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onChanged +--- +
{{AddonSidebar()}}
+ +

以下の変更に対して発火します。

+ + + +

構文

+ +
browser.bookmarks.onChanged.addListener(function(
+  id,        // 文字列
+  changeInfo // オブジェクト
+) {...})
+browser.bookmarks.onChanged.removeListener(listener)
+browser.bookmarks.onChanged.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される関数を指定します。この関数には以下の引数が渡ります。

+
+
+ +
+
+
+
id
+
変更を受けた要素の ID を表す {{jsxref("string")}}
+
+ +
+
changeInfo
+
変更に関する詳細を含んだ {{jsxref("object")}}
+
+
+
+ +

付随するオブジェクト

+ +

changeInfo

+ +
+
title
+
変更された要素のタイトルを表す {{jsxref("string")}}
+
url{{optional_inline}}
+
変更された要素の URL を表す {{jsxref("string")}}。要素がフォルダだった場合に値は入りません。
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onChanged")}}

+ +

使用例

+ +
function handleChanged(id, changeInfo) {
+  console.log("Item: " + id + " changed");
+  console.log("Title: " + changeInfo.title);
+  console.log("Url: " + changeInfo.url);
+}
+
+function handleClick() {
+  chrome.bookmarks.onChanged.addListener(handleChanged);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.html new file mode 100644 index 0000000000..3d5b10eb91 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.html @@ -0,0 +1,130 @@ +--- +title: bookmarks.onChildrenReordered +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onChildrenReordered +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onChildrenReordered +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onChildrenReordered +--- +

{{AddonSidebar()}}

+ +

UI で表示されている順序に伴って子フォルダの順序も変更された際に発火します。{{WebExtAPIRef("bookmarks.move()")}} の実行後や、UI におけるドラッグの際には発火しません。

+ +

構文

+ +
browser.bookmarks.onChildrenReordered.addListener(function(
+  id,         // 文字列
+  reorderInfo // オブジェクト
+) {...})
+browser.bookmarks.onChildrenReordered.removeListener(listener)
+browser.bookmarks.onChildrenReordered.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される関数を指定します。この関数には以下の引数が渡ります。

+
+
+ +
+
+
+
id
+
子要素の順序が変更されたフォルダの ID を表す {{jsxref("string")}} です。
+
+ +
+
reorderInfo
+
詳細情報を含んだ {{jsxref("object")}} です。
+
+
+
+ +

付随するオブジェクト

+ +

reorderInfo

+ +
+
childIds
+
{{jsxref("string")}} の {{jsxref("array")}} です。このフォルダに含まれるブックマーク要素すべての ID が含まれており、UI に表示されているのと同じ順番に並んでいます。
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onChildrenReordered")}}

+ +

使用例

+ +
function handleChildrenReordered(id, reorderInfo) {
+  console.log("Item: " + id + " children reordered");
+  console.log("Children: " + reorderInfo.childIds);
+}
+
+function handleClick() {
+  chrome.bookmarks.onChildrenReordered.addListener(handleChildrenReordered);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License. に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.html new file mode 100644 index 0000000000..5c1eea40d5 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.html @@ -0,0 +1,104 @@ +--- +title: bookmarks.onCreated +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onCreated +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onCreated +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onCreated +--- +
{{AddonSidebar()}}
+ +

ブックマークやフォルダが作成された際に発火します。

+ +

構文

+ +
browser.bookmarks.onCreated.addListener(function(
+  id,      // 文字列
+  bookmark // BookmarkTreeNode
+) {...})
+browser.bookmarks.onCreated.removeListener(listener)
+browser.bookmarks.onCreated.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される {{jsxref("function")}} です。この関数には以下の引数が渡ります。

+ +
+
id
+
string.
+
+ +
+
bookmark
+
{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}.
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onCreated")}}

+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.html new file mode 100644 index 0000000000..6a11683646 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.html @@ -0,0 +1,110 @@ +--- +title: bookmarks.onImportBegan +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onImportBegan +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onImportBegan +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onImportBegan +--- +

{{AddonSidebar()}}

+ +

ブックマークのインポートが開始した際に発火します。

+ +

ブックマークをインポートしている間、{{WebExtAPIRef("bookmarks.onCreated", "onCreated")}} が何度も発火する場合があります。onCreated に紐づけるリスナ関数の処理が重い場合には、onImportBegan と {{WebExtAPIRef("bookmarks.onImportEnded", "onImportEnded")}} をリッスンし、onImportEnded  が発火するまでは onCreated を無視してください。他のイベントは通常通り処理できます。

+ +

構文

+ +
browser.bookmarks.onImportBegan.addListener(function() {...})
+browser.bookmarks.onImportBegan.removeListener(listener)
+browser.bookmarks.onImportBegan.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される関数を指定します。この関数に渡される引数はありません。

+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onImportBegan")}}

+ +

使用例

+ +
function handleImportBegan() {
+  console.log("Importing...");
+}
+
+function handleImportEnded() {
+  console.log("...finished.");
+}
+
+function handleClick() {
+  chrome.bookmarks.onImportBegan.addListener(handleImportBegan);
+  chrome.bookmarks.onImportEnded.addListener(handleImportEnded);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License. に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.html new file mode 100644 index 0000000000..4ecfe782cf --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.html @@ -0,0 +1,110 @@ +--- +title: bookmarks.onImportEnded +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onImportEnded +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onImportEnded +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onImportEnded +--- +

{{AddonSidebar()}}

+ +

ブックマークのインポートが終了した際に発火します。

+ +

{{WebExtAPIRef("bookmarks.onImportBegan")}} も参照してください。

+ +

構文

+ +
browser.bookmarks.onImportEnded.addListener(function() {...})
+browser.bookmarks.onImportEnded.removeListener(listener)
+browser.bookmarks.onImportEnded.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される関数を指定します。この関数に渡される引数はありません。

+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onImportEnded")}}

+ +

使用例

+ +
function handleImportBegan() {
+  console.log("Importing...");
+}
+
+function handleImportEnded() {
+  console.log("...finished.");
+}
+
+function handleClick() {
+  chrome.bookmarks.onImportBegan.addListener(handleImportBegan);
+  chrome.bookmarks.onImportEnded.addListener(handleImportEnded);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.html new file mode 100644 index 0000000000..6b14db985b --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.html @@ -0,0 +1,139 @@ +--- +title: bookmarks.onMoved +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onMoved +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onMoved +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onMoved +--- +

{{AddonSidebar()}}

+ +

ブックマークやフォルダが、異なる親フォルダやフォルダ内の別の場所へ移された際に発火します。

+ +

構文

+ +
browser.bookmarks.onMoved.addListener(function(
+  id,      // 文字列
+  moveInfo // オブジェクト
+) {...})
+browser.bookmarks.onMoved.removeListener(listener)
+browser.bookmarks.onMoved.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される関数を指定します。この関数には以下の引数が渡ります。

+
+
+ +
+
+
+
id
+
移動した要素の ID を表す {{jsxref("string")}} です。
+
+ +
+
moveInfo
+
移動に関する詳細を含んだ {{jsxref("object")}} です。
+
+
+
+ +

付随するオブジェクト

+ +

moveInfo

+ +
+
parentId
+
新しい親フォルダを表す {{jsxref("string")}}
+
index
+
この要素が親から見て何番目にあるかを表す整数
+
oldParentId
+
移動前の親フォルダを表す {{jsxref("string")}}
+
oldIndex
+
移動前において、この要素が親から見て何番目にあったかを表す整数
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onMoved")}}

+ +

Examples

+ +
function handleMoved(id, moveInfo) {
+  console.log("Item: " + id + " moved");
+  console.log("Old index: " + moveInfo.oldIndex);
+  console.log("New index: " + moveInfo.index);
+  console.log("Old folder: " + moveInfo.oldParentId);
+  console.log("New folder: " + moveInfo.parentId);
+}
+
+function handleClick() {
+  chrome.bookmarks.onMoved.addListener(handleMoved);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge compatibility の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.html new file mode 100644 index 0000000000..abe7b7968a --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.html @@ -0,0 +1,135 @@ +--- +title: bookmarks.onRemoved +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/onRemoved +tags: + - API + - Add-ons + - Bookmarks + - Event + - Extensions + - Non-standard + - Reference + - WebExtensions + - onRemoved +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onRemoved +--- +

{{AddonSidebar()}}

+ +

ブックマークやフォルダが削除された際に発火します。フォルダが再帰的に削除された場合は、そのフォルダに対して 1 回だけ発火し、そのフォルダの中身に関しては発火しません。

+ +

構文

+ +
browser.bookmarks.onRemoved.addListener(function(
+  id,        // 文字列
+  removeInfo // オブジェクト
+) {...})
+browser.bookmarks.onRemoved.removeListener(listener)
+browser.bookmarks.onRemoved.hasListener(listener)
+
+ +

このイベントには 3 つのメソッドが用意されています。

+ +
+
addListener(callback)
+
イベントリスナを追加します。
+
removeListener(listener)
+
イベントリスナを削除します。引数 listener には削除したいリスナを指定します。
+
hasListener(listener)
+
listener がイベントリスナとして登録されているか確認します。登録されていれば true を、それ以外の場合は false を返します。
+
+ +

addListener の構文

+ +

引数

+ +
+
callback
+
+

イベントが発火した際に呼び出される関数を指定します。この関数には以下の引数が渡ります。

+
+
+ +
+
+
+
id
+
削除された要素の ID を表す {{jsxref("string")}}
+
+ +
+
removeInfo
+
削除された要素の詳細を含んだ {{jsxref("object")}}
+
+
+
+ +

付随するオブジェクト

+ +

removeInfo

+ +
+
parentId
+
要素の親の ID を表す {{jsxref("string")}}
+
index
+
この要素が親からみて何番目にあるかを表す 0 以上の整数
+
node
+
削除された要素に関する詳細を含む {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.onRemoved")}}

+ +

Examples

+ +
function handleRemoved(id, removeInfo) {
+  console.log("Item: " + id + " removed");
+  console.log("Title: " + removeInfo.node.title);
+  console.log("Url: " + removeInfo.node.url);
+}
+
+function handleClick() {
+  chrome.bookmarks.onRemoved.addListener(handleRemoved);
+}
+
+chrome.browserAction.onClicked.addListener(handleClick);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/remove/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/remove/index.html new file mode 100644 index 0000000000..a76c3f74bc --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/remove/index.html @@ -0,0 +1,96 @@ +--- +title: bookmarks.remove() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/remove +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - remove +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/remove +--- +

{{AddonSidebar()}}

+ +

bookmarks.remove() は、ブックマークや空のブックマークフォルダを削除するメソッドです。

+ +

ブックマークが見つからなかった、またはフォルダが空ではなかった場合には {{WebExtAPIRef("runtime.lastError")}} がセットされ、エラーの有無はコールバック内で確認できます。

+ +

構文

+ +
browser.bookmarks.remove(
+  id,      // 文字列
+  callback // 関数(省略可)
+)
+
+ +

引数

+ +
+
id
+
削除したいブックマーク / 空フォルダの ID を指定する {{jsxref("string")}} です。
+
callback{{optional_inline}}
+
ブックマークやフォルダが削除された際に実行される関数です。この関数に渡される引数はありません。
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.remove")}}

+ +

使用例

+ +

以下の例はブックマークを削除するものです。

+ +
function onRemoved() {
+  if (chrome.runtime.lastError) {
+    console.log(chrome.runtime.lastError);
+  } else {
+    console.log("bookmark item removed!");
+  }
+
+}
+
+chrome.bookmarks.remove(bookmarkItemId");
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.html new file mode 100644 index 0000000000..03378dfc79 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.html @@ -0,0 +1,101 @@ +--- +title: bookmarks.removeTree() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/removeTree +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - WebExtensions + - removeTree +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/removeTree +--- +

{{AddonSidebar()}}

+ +

bookmarks.removeTree() は、ブックマークフォルダやその要素を再帰的に削除するメソッドです。

+ +

ブックマークが見つからなかった場合は {{WebExtAPIRef("runtime.lastError")}} がセットされ、エラーの有無はコールバック内で確認できます。

+ +

構文

+ +
browser.bookmarks.removeTree(
+  id,      // 文字列
+  callback // 関数(省略可)
+)
+
+ +

引数

+ +
+
id
+
子要素とともに削除されるフォルダノードの ID を表す {{jsxref("string")}} です。
+
callback{{optional_inline}}
+
ノードが削除された際に実行される関数です。この関数に渡される引数はありません。
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.removeTree")}}

+ +

使用例

+ +

以下の例は、"MDN" という名前のフォルダを探し、それ自身とその子要素をすべて削除するものです。

+ +
function onRemoved() {
+  if (chrome.runtime.lastError) {
+    console.log(chrome.runtime.lastError);
+  } else {
+    console.log("bookmark item removed!");
+  }
+}
+
+function removeMDN(searchResults) {
+  if (searchResults.length) {
+    chrome.bookmarks.removeTree(searchResults[0].id, onRemoved);
+  }
+}
+
+chrome.bookmarks.search({ title: "MDN" }, removeMDN);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/search/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/search/index.html new file mode 100644 index 0000000000..4532e33fdd --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/search/index.html @@ -0,0 +1,135 @@ +--- +title: bookmarks.search() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/search +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - Search + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/search +--- +
{{AddonSidebar()}}
+ +

bookmarks.search() 関数は、指定したクエリにマッチするブックマークを検索するものです。マッチしたブックマークは、{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} オブジェクトの配列として、指定されたコールバック関数の引数に渡されます。

+ +

入力引数の値や型が不正だった場合、この関数は例外を送出します。エラーメッセージはコンソールで確認できます。送出された例外はエラー ID を含んでおらず、またメッセージを変更される可能性があるため、これらを解析するようなコードは書かないでください。

+ +

構文

+ +
browser.bookmarks.search(
+  query,   // 文字列またはオブジェクト
+  callback // 関数
+)
+
+ +

引数

+ +
+
query
+
実行するクエリを表す {{jsxref("string")}} または {{jsxref("object")}} です。
+
query を文字列で指定する場合、query は 0 個以上の検索項から構成されます。検索項はスペースで区切りますが、複数語からなる句を検索したい場合は引用符でくくります。それぞれの検索項はブックマークの URL やタイトルの部分文字列にマッチします(大文字・小文字は区別されません)。あるブックマークがクエリにマッチするには、クエリの検索項すべてがマッチしなければなりません。
+
+

query をオブジェクトで指定する場合、以下の 3 つのプロパティのうち 0 個以上を指定することになります。あるブックマークがクエリにマッチするには、指定されたプロパティすべてにおいてマッチしなければなりません。

+
+
+
+
query{{optional_inline}}
+
1 つ以上の検索項を含んだ {{jsxref("string")}} を指定します。このフォーマットは query 引数における文字列のフォーマットと同じです。このプロパティ値が {{jsxref("string")}} でなかった場合、 例外が送出されます。
+
url{{optional_inline}}
+
ブックマークの URL と完全一致しなければならない {{jsxref("string")}} を指定します。マッチの際に大文字・小文字は区別されず、また末尾のスラッシュも無視されます。
+
+

無効な URL を指定した場合、例外が送出されます。

+
+
+ +
+
title{{optional_inline}}
+
ブックマークのタイトルと完全一致しなければならない {{jsxref("string")}} を指定します。マッチの際には大文字・小文字が区別されます。
+
+
+
callback
+
クエリの結果が得られた場合に呼び出される関数を指定します。この関数には以下の引数が渡ります。
+
+
+
results
+
{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} オブジェクトの配列であり、各要素はマッチしたブックマークをそれぞれ表しています。何も見つからなかった場合は空の配列となります。
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.search")}}

+ +

使用例

+ +

以下の例は、ブックマークすべての ID を出力するものです。

+ +
function onGot(bookmarkItems) {
+  for (item of bookmarkItems) {
+    console.log(item.id);
+  }
+}
+
+chrome.bookmarks.search({}, onGot);
+ +

以下の例は、その時にアクティブなタブがブックマークされているかどうかを確認するものです。

+ +
function onGot(bookmarkItems) {
+  if (bookmarkItems.length) {
+    console.log("active tab is bookmarked");
+  } else {
+    console.log("active tab is not bookmarked");
+  }
+}
+
+function checkActiveTab(tab) {
+  chrome.bookmarks.search({url: tab.url}, onGot);
+}
+
+chrome.browserAction.onClicked.addListener(checkActiveTab);
+ +

{{WebExtExamples}}

+ +
謝辞 + +

この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + diff --git a/files/ja/mozilla/add-ons/webextensions/api/bookmarks/update/index.html b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/update/index.html new file mode 100644 index 0000000000..8ceee69300 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/api/bookmarks/update/index.html @@ -0,0 +1,117 @@ +--- +title: bookmarks.update() +slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/update +tags: + - API + - Add-ons + - Bookmarks + - Extensions + - Method + - Non-standard + - Reference + - Update + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/update +--- +

{{AddonSidebar()}}

+ +

bookmarks.update() は、ブックマークの URL やタイトル、またはフォルダの名前を更新するメソッドです。

+ +

ブックマーク要素が見つからなかった場合には {{WebExtAPIRef("runtime.lastError")}} がセットされるので、エラーの有無をコールバックで確認できます。

+ +

構文

+ +
browser.bookmarks.update(
+  id,      // 文字列
+  changes, // オブジェクト
+  callback // 関数(省略可)
+)
+
+ +

引数

+ +
+
id
+
更新したいブックマーク / フォルダの ID を表す {{jsxref("string")}} です。
+
changes
+
適用したい変更内容を表す {{jsxref("object")}} であり、以下のプロパティから構成されます。指定しなかったプロパティについて、ブックマークやフォルダが変更されることはありません。
+ +
+
title{{optional_inline}}
+
id がフォルダを表す場合、ブックマークの新しいタイトル / フォルダの新しい名前を指定する {{jsxref("string")}} です。
+
url{{optional_inline}}
+
ブックマークの新しい URL を指定する {{jsxref("string")}} です。
+
+
+
callback{{optional_inline}}
+
変更が適用された際に実行される関数です。この関数には次の引数が 1 つ渡ります。
+
+
+
result
+
更新されたブックマークを表す{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} オブジェクトです。
+
+
+
+ +

ブラウザ実装状況

+ +

{{Compat("webextensions.api.bookmarks.update")}}

+ +

使用例

+ +

フォルダのリネーム

+ +

以下の例は、"MDN" という名前のフォルダすべてを "MDN" to "Mozilla Developer Network (MDN)" にリネームするものです。

+ +
function updateFolders(items) {
+  for (item of items) {
+    // only folders, so skip items with a `url`
+    if (!item.url) {
+      chrome.bookmarks.update(item.id, {
+        title: "Mozilla Developer Network (MDN)"
+      });
+    }
+  }
+}
+
+chrome.bookmarks.search({ title: "MDN" }, updateFolders);
+ +

{{WebExtExamples}}

+ +
Acknowledgements + +

This API is based on Chromium's chrome.bookmarks API. This documentation is derived from bookmarks.json in the Chromium code.

+ +

Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。

+
+ + -- cgit v1.2.3-54-g00ecf