Deskripsi
Gunakan chrome.bookmarks
API untuk membuat, mengatur, dan memanipulasi bookmark. Lihat juga Mengganti Halaman, yang dapat Anda gunakan untuk membuat halaman Pengelola Bookmark kustom.
Izin
bookmarks
Anda harus mendeklarasikan "bookmark" izin di manifes ekstensi untuk menggunakan bookmark API. Contoh:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Konsep dan penggunaan
Objek dan properti
Bookmark diatur dalam pohon, di mana setiap {i>node<i} dalam pohon adalah bookmark atau folder (terkadang disebut grup). Setiap {i>node<i} dalam pohon direpresentasikan oleh bookmarks.BookmarkTreeNode.
Properti BookmarkTreeNode
digunakan di seluruh chrome.bookmarks
API. Misalnya, ketika Anda
panggil bookmarks.create, Anda meneruskan induk node baru (parentId
), dan, secara opsional,
properti index
, title
, dan url
node. Lihat bookmarks.BookmarkTreeNode untuk mengetahui informasi
properti yang dapat dimiliki {i>node<i}.
Contoh
Kode berikut membuat folder dengan judul "Bookmark ekstensi". Argumen pertama untuk
create()
menentukan properti untuk folder baru. Argumen kedua mendefinisikan {i>function<i} yang
dieksekusi setelah folder dibuat.
chrome.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
Cuplikan berikutnya membuat bookmark yang mengarah ke dokumentasi developer untuk ekstensi. Sejak tidak ada hal buruk yang akan terjadi jika pembuatan bookmark gagal, kode ini tidak perlu menentukan fungsi callback.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
Untuk mencoba API ini, instal contoh Bookmarks API dari chrome-extension-samples repositori resource.
Jenis
BookmarkTreeNode
Simpul (bookmark atau folder) di pohon bookmark. Node turunan diurutkan dalam folder induknya.
Properti
-
children
BookmarkTreeNode[] opsional
Daftar turunan node ini yang diurutkan.
-
dateAdded
angka opsional
Saat node ini dibuat, dalam milidetik sejak epoch (
new Date(dateAdded)
). -
dateGroupModified
angka opsional
Saat konten folder ini terakhir berubah, dalam milidetik sejak epoch.
-
dateLastUsed
angka opsional
Chrome 114 dan yang lebih baruSaat node ini terakhir dibuka, dalam milidetik sejak epoch. Tidak ditetapkan untuk folder.
-
id
string
ID unik untuk node. ID bersifat unik di dalam profil saat ini, dan akan tetap valid bahkan setelah browser dimulai ulang.
-
indeks
angka opsional
Posisi berbasis 0 dari node ini dalam folder induknya.
-
parentId
string opsional
id
dari folder induk. Dihilangkan untuk node root. -
judul
string
Teks yang ditampilkan untuk node.
-
tidak dapat diubah
"managed"
opsionalMenunjukkan alasan node ini tidak dapat diubah. Nilai
managed
menunjukkan bahwa node ini dikonfigurasi oleh administrator sistem atau oleh penanggung jawab pengguna yang diawasi. Dihapus jika node dapat diubah oleh pengguna dan ekstensi (default). -
url
string opsional
URL yang dibuka saat pengguna mengklik bookmark. Dihapus untuk folder.
BookmarkTreeNodeUnmodifiable
Menunjukkan alasan node ini tidak dapat diubah. Nilai managed
menunjukkan bahwa node ini dikonfigurasi oleh administrator sistem. Dihapus jika node dapat diubah oleh pengguna dan ekstensi (default).
Nilai
"terkelola"
CreateDetails
Objek diteruskan ke fungsi create().
Properti
-
indeks
angka opsional
-
parentId
string opsional
Setelan defaultnya adalah folder Bookmark Lainnya.
-
judul
string opsional
-
url
string opsional
Properti
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Operasi penulisan bookmark tidak lagi dibatasi oleh Chrome.
Nilai
1.000.000
MAX_WRITE_OPERATIONS_PER_HOUR
Operasi penulisan bookmark tidak lagi dibatasi oleh Chrome.
Nilai
1.000.000
Metode
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
Membuat bookmark atau folder di bawah parentId yang ditentukan. Jika url NULL atau tidak ada, maka akan berupa folder.
Parameter
-
bookmark
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(result: BookmarkTreeNode) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
Mengambil BookmarkTreeNode yang ditentukan.
Parameter
-
idOrIdList
string | [string, ...string[]]
ID bernilai string tunggal, atau array ID bernilai string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Mengambil turunan id BookmarkTreeNode yang ditentukan.
Parameter
-
id
string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
Mengambil bookmark yang baru saja ditambahkan.
Parameter
-
numberOfItems
angka
Jumlah maksimum item untuk ditampilkan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
Mengambil bagian dari hierarki Bookmarks, mulai dari node yang ditentukan.
Parameter
-
id
string
ID root subhierarki yang akan diambil.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Mengambil seluruh hierarki Bookmark.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
Memindahkan BookmarkTreeNode yang ditentukan ke lokasi yang disediakan.
Parameter
-
id
string
-
destination
objek
-
indeks
angka opsional
-
parentId
string opsional
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(result: BookmarkTreeNode) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
Menghapus bookmark atau folder bookmark kosong.
Parameter
-
id
string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
Menghapus folder bookmark secara berulang.
Parameter
-
id
string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
Menelusuri BookmarkTreeNodes yang cocok dengan kueri tertentu. Kueri yang ditentukan dengan objek menghasilkan BookmarkTreeNode yang cocok dengan semua properti yang ditentukan.
Parameter
-
kueri
string | objek
Baik string kata dan frasa bertanda kutip yang dicocokkan dengan URL dan judul bookmark, atau objek. Jika sebuah objek, properti
query
,url
, dantitle
dapat ditentukan dan bookmark yang cocok dengan semua properti yang ditentukan akan dibuat.-
kueri
string opsional
String kata dan frasa bertanda kutip yang dicocokkan dengan URL dan judul bookmark.
-
judul
string opsional
Judul bookmark; cocok dengan kata demi kata.
-
url
string opsional
URL bookmark; cocok dengan kata demi kata. Perlu diketahui bahwa folder tidak memiliki URL.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
Memperbarui properti bookmark atau folder. Menentukan hanya properti yang ingin diubah; properti yang tidak ditetapkan akan dibiarkan tidak berubah. Catatan: Saat ini, hanya 'title' dan 'url' didukung.
Parameter
-
id
string
-
perubahan
objek
-
judul
string opsional
-
url
string opsional
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(result: BookmarkTreeNode) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
Acara
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Diaktifkan jika bookmark atau folder berubah. Catatan: Saat ini, hanya perubahan judul dan URL yang memicu hal ini.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(id: string, changeInfo: object) => void
-
id
string
-
changeInfo
objek
-
judul
string
-
url
string opsional
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Diaktifkan jika turunan folder telah mengubah urutannya karena urutan diurutkan di UI. Hal ini tidak dipanggil sebagai hasil dari move().
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(id: string, reorderInfo: object) => void
-
id
string
-
reorderInfo
objek
-
childIds
{i>string<i}[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Diaktifkan saat bookmark atau folder dibuat.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(id: string, bookmark: BookmarkTreeNode) => void
-
id
string
-
bookmark
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Diaktifkan saat sesi impor bookmark dimulai. Pengamat yang mahal harus mengabaikan update onCreated hingga onImportEnded diaktifkan. Pengamat tetap harus segera menangani notifikasi lain.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Diaktifkan saat sesi impor bookmark berakhir.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Diaktifkan jika bookmark atau folder dipindahkan ke folder induk yang berbeda.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(id: string, moveInfo: object) => void
-
id
string
-
moveInfo
objek
-
indeks
angka
-
oldIndex
angka
-
oldParentId
string
-
parentId
string
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Diaktifkan jika bookmark atau folder dihapus. Jika folder dihapus secara rekursif, satu notifikasi akan diaktifkan untuk folder tersebut, sedangkan tidak ada notifikasi untuk kontennya.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(id: string, removeInfo: object) => void
-
id
string
-
removeInfo
objek
-
indeks
angka
-
nodeChrome 48+
-
parentId
string
-
-