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 menyatakan izin "bookmark" dalam manifes ekstensi untuk menggunakan API bookmark. Contoh:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Konsep dan penggunaan
Objek dan properti
Bookmark disusun secara hierarki, dengan setiap node dalam hierarki tersebut merupakan bookmark atau folder (terkadang disebut grup). Setiap node dalam hierarki direpresentasikan oleh objek bookmarks.BookmarkTreeNode.
BookmarkTreeNode
properti digunakan di seluruh chrome.bookmarks
API. Misalnya, saat memanggil bookmarks.create, Anda meneruskan induk node baru (parentId
), dan secara opsional, properti index
, title
, dan url
node. Buka bookmarks.BookmarkTreeNode untuk mengetahui informasi
tentang properti yang dapat dimiliki node.
Contoh
Kode berikut akan membuat folder dengan judul "Bookmark ekstensi". Argumen pertama untuk
create()
menentukan properti untuk folder baru. Argumen kedua menentukan fungsi yang akan
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. Karena tidak ada hal buruk yang akan terjadi jika pembuatan bookmark gagal, kode ini tidak mengganggu untuk menentukan fungsi callback.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
Untuk mencoba API ini, instal contoh Bookmark API dari repositori chrome-extension-samples.
Jenis
BookmarkTreeNode
Node (baik bookmark maupun folder) di hierarki bookmark. Node turunan diurutkan dalam folder induknya.
Properti
-
children
BookmarkTreeNode[] opsional
Daftar turunan node ini yang diurutkan.
-
dateAdded
nomor opsional
Saat node ini dibuat, dalam milidetik sejak epoch (
new Date(dateAdded)
). -
dateGroupModified
nomor opsional
Saat isi folder ini terakhir berubah, dalam milidetik sejak epoch.
-
dateLastUsed
nomor 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 dalam profil saat ini, dan tetap valid bahkan setelah browser dimulai ulang.
-
index
nomor opsional
Posisi berbasis 0 node ini dalam folder induknya.
-
parentId
string opsional
id
folder induk. Dihapus untuk node root. -
title
string
Teks yang ditampilkan untuk node.
-
tidak dapat diubah
opsional
Menunjukkan alasan node ini tidak dapat diubah. Nilai
managed
menunjukkan bahwa node ini dikonfigurasi oleh administrator sistem atau oleh penanggung jawab pengguna yang diawasi. Dihilangkan 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. Dihilangkan jika node dapat diubah oleh pengguna dan ekstensi (default).
Nilai
CreateDetails
Objek yang diteruskan ke fungsi create().
Properti
-
index
nomor opsional
-
parentId
string opsional
Setelan defaultnya adalah folder Bookmark Lainnya.
-
title
string opsional
-
url
string opsional
Properti
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Operasi penulisan bookmark tidak lagi dibatasi oleh Chrome.
Nilai
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Operasi penulisan bookmark tidak lagi dibatasi oleh Chrome.
Nilai
1000000
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 URL akan berupa folder.
Parameter
-
bookmark
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(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. Promise di-resolve dengan jenis yang sama 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:(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. Promise di-resolve dengan jenis yang sama 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:(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. Promise di-resolve dengan jenis yang sama 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:(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. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
Mengambil bagian hierarki Bookmark, mulai dari node yang ditentukan.
Parameter
-
id
string
ID dari root subhierarki yang akan diambil.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(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. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Mengambil seluruh hierarki Bookmark.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(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. Promise di-resolve dengan jenis yang sama 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
-
akun penerima
objek
-
index
nomor opsional
-
parentId
string opsional
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(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. Promise di-resolve dengan jenis yang sama 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:() => void
Hasil
-
Promise<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. Promise di-resolve dengan jenis yang sama 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:() => void
Hasil
-
Promise<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. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
Menelusuri BookmarkTreeNodes yang cocok dengan kueri yang diberikan. Kueri yang ditentukan dengan objek menghasilkan BookmarkTreeNode yang cocok dengan semua properti yang ditentukan.
Parameter
-
kueri
string | objek
String kata dan frasa yang dikutip yang dicocokkan dengan judul dan URL bookmark, atau dengan objek. Jika objek, properti
query
,url
, dantitle
dapat ditentukan dan bookmark yang cocok dengan semua properti yang ditentukan akan ditampilkan.-
kueri
string opsional
String kata dan frasa yang dikutip yang dicocokkan dengan URL dan judul bookmark.
-
title
string opsional
Judul bookmark; cocok dengan kata demi kata.
-
url
string opsional
URL bookmark; cocok dengan kata demi kata. Perhatikan bahwa folder tidak memiliki URL.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(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. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
Memperbarui properti bookmark atau folder. Hanya tentukan properti yang ingin Anda ubah; properti yang tidak ditentukan akan dibiarkan tidak berubah. Catatan: Saat ini, hanya 'judul' dan 'url' yang didukung.
Parameter
-
id
string
-
perubahan
objek
-
title
string opsional
-
url
string opsional
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(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. Promise di-resolve dengan jenis yang sama 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:(id: string, changeInfo: object) => void
-
id
string
-
changeInfo
objek
-
title
string
-
url
string opsional
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Diaktifkan saat turunan folder telah mengubah urutannya karena urutan diurutkan di UI. Ini tidak dipanggil sebagai hasil Move().
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(id: string, reorderInfo: object) => void
-
id
string
-
reorderInfo
objek
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Diaktifkan saat bookmark atau folder dibuat.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(id: string, bookmark: BookmarkTreeNode) => void
-
id
string
-
bookmark
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Diaktifkan saat sesi impor bookmark dimulai. Observer yang mahal harus mengabaikan update onCreated hingga onImportEnded diaktifkan. Observer harus tetap menangani notifikasi lain dengan segera.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Diaktifkan saat sesi impor bookmark berakhir.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Diaktifkan saat bookmark atau folder dipindahkan ke folder induk lain.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(id: string, moveInfo: object) => void
-
id
string
-
moveInfo
objek
-
index
angka
-
oldIndex
angka
-
oldParentId
string
-
parentId
string
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Diaktifkan saat bookmark atau folder dihapus. Jika folder dihapus secara rekursif, satu notifikasi akan diaktifkan untuk folder tersebut, dan tidak ada notifikasi untuk kontennya.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(id: string, removeInfo: object) => void
-
id
string
-
removeInfo
objek
-
index
angka
-
nodeChrome 48+
-
parentId
string
-
-