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 izin "bookmarks" di manifes ekstensi untuk menggunakan API bookmark. Contoh:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Konsep dan penggunaan
Objek dan properti
Penanda buku diatur dalam hierarki, dengan setiap node dalam hierarki berupa penanda buku atau folder (terkadang disebut grup). Setiap node dalam hierarki direpresentasikan oleh objek bookmarks.BookmarkTreeNode.
Properti BookmarkTreeNode
digunakan di seluruh chrome.bookmarks
API. Misalnya, saat Anda
memanggil bookmarks.create, Anda akan meneruskan induk node baru (parentId
), dan, secara opsional, properti
index
, title
, dan url
node. Lihat bookmarks.BookmarkTreeNode untuk mengetahui informasi
tentang properti yang dapat dimiliki sebuah node.
Contoh
Kode berikut membuat folder dengan judul "Bookmark ekstensi". Argumen pertama ke
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 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 repositori chrome-extension-samples.
Jenis
BookmarkTreeNode
Node (bookmark atau folder) dalam pohon bookmark. Node turunan diurutkan dalam folder induknya.
Properti
-
children
BookmarkTreeNode[] opsional
Daftar turunan yang diurutkan dari node ini.
-
dateAdded
nomor opsional
Saat node ini dibuat, dalam milidetik sejak epoch (
new Date(dateAdded)
). -
dateGroupModified
nomor opsional
Waktu terakhir kali isi folder ini berubah, dalam milidetik sejak epoch.
-
dateLastUsed
nomor opsional
Chrome 114+Kapan node ini terakhir dibuka, dalam milidetik sejak epoch. Tidak disetel untuk folder.
-
folderType
FolderType opsional
Chrome 134+Jika ada, ini adalah folder yang ditambahkan oleh browser dan tidak dapat diubah oleh pengguna atau ekstensi. Node turunan dapat diubah, jika node ini tidak memiliki setelan properti
unmodifiable
. Dihilangkan jika node dapat diubah oleh pengguna dan ekstensi (default).Mungkin ada nol, satu, atau beberapa node dari setiap jenis folder. Folder dapat ditambahkan atau dihapus oleh browser, tetapi tidak melalui ekstensi API.
-
id
string
ID unik untuk node. ID bersifat unik dalam profil saat ini, dan tetap valid meskipun setelah browser dimulai ulang.
-
indeks
nomor opsional
Posisi berbasis 0 dari node ini dalam folder induknya.
-
parentId
string opsional
id
folder induk. Dihilangkan untuk node root. -
menyinkronkan
boolean
Chrome 134+Apakah node ini disinkronkan dengan penyimpanan akun jarak jauh pengguna oleh browser. Ini dapat digunakan untuk membedakan antara versi akun dan versi khusus lokal dari
FolderType
yang sama. Nilai properti ini dapat berubah untuk node yang ada, misalnya sebagai akibat dari tindakan pengguna.Catatan: ini mencerminkan apakah node disimpan ke penyedia akun bawaan browser. Node dapat disinkronkan melalui pihak ketiga, meskipun nilai ini salah (false).
Untuk node terkelola (node yang
unmodifiable
-nya disetel ketrue
), properti ini akan selalu menjadifalse
. -
judul
string
Teks yang ditampilkan untuk node.
-
tidak dapat diubah
"managed"
opsionalMenunjukkan alasan mengapa node ini tidak dapat diubah. Nilai
managed
menunjukkan bahwa node ini dikonfigurasi oleh administrator sistem atau oleh wali pengguna yang diawasi. Dihilangkan jika node dapat diubah oleh pengguna dan ekstensi (default). -
url
string opsional
URL yang dibuka saat pengguna mengklik bookmark. Dihilangkan untuk folder.
BookmarkTreeNodeUnmodifiable
Menunjukkan alasan mengapa 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
"managed"
CreateDetails
Objek diteruskan ke fungsi create().
Properti
-
indeks
nomor opsional
-
parentId
string opsional
Default-nya adalah folder Bookmark Lainnya.
-
judul
string opsional
-
url
string opsional
FolderType
Menunjukkan jenis folder.
Enum
"bookmarks-bar"
Folder yang isinya ditampilkan di bagian atas jendela browser.
"lainnya"
Bookmark yang ditampilkan dalam daftar lengkap bookmark di semua platform.
"mobile"
Bookmark umumnya tersedia di perangkat seluler pengguna, tetapi dapat diubah oleh ekstensi atau di pengelola bookmark.
"dikelola"
Folder tingkat teratas yang mungkin ada jika administrator sistem atau wali pengguna yang diawasi telah mengonfigurasi bookmark.
Properti
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Operasi tulis bookmark tidak lagi dibatasi oleh Chrome.
Nilai
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Operasi tulis bookmark tidak lagi dibatasi oleh Chrome.
Nilai
1000000
Metode
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
Membuat bookmark atau folder di bawah parentId yang ditentukan. Jika URL adalah NULL atau tidak ada, maka akan berupa folder.
Parameter
-
bookmark
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90+
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
Mengambil BookmarkTreeNode yang ditentukan.
Parameter
-
idOrIdList
string | [string, ...string[]]
ID bernilai string tunggal, atau array ID bernilai string
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+
getChildren()
chrome.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Mengambil turunan dari ID BookmarkTreeNode yang ditentukan.
Parameter
-
id
string
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Mengambil bookmark yang baru ditambahkan.
Parameter
-
numberOfItems
angka
Jumlah maksimum item untuk ditampilkan.
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
Mengambil bagian dari hierarki Penanda, dimulai dari node yang ditentukan.
Parameter
-
id
string
ID root subpohon yang akan diambil.
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+
getTree()
chrome.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Mengambil seluruh hierarki Bookmark.
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+
move()
chrome.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Memindahkan BookmarkTreeNode yang ditentukan ke lokasi yang diberikan.
Parameter
-
id
string
-
destination
objek
-
indeks
nomor opsional
-
parentId
string opsional
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90+
remove()
chrome.bookmarks.remove(
id: string,
): Promise<void>
Menghapus bookmark atau folder bookmark kosong.
Parameter
-
id
string
Hasil
-
Promise<void>
Chrome 90+
removeTree()
chrome.bookmarks.removeTree(
id: string,
): Promise<void>
Menghapus folder bookmark secara rekursif.
Parameter
-
id
string
Hasil
-
Promise<void>
Chrome 90+
search()
chrome.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
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 | object
String kata dan frasa yang dikutip yang dicocokkan dengan URL dan judul bookmark, atau objek. Jika objek, properti
query
,url
, dantitle
dapat ditentukan dan bookmark yang cocok dengan semua properti yang ditentukan akan dihasilkan.-
kueri
string opsional
String kata dan frasa yang dikutip yang dicocokkan dengan URL dan judul bookmark.
-
judul
string opsional
Judul bookmark; cocok kata demi kata.
-
url
string opsional
URL bookmark; cocok kata demi kata. Perhatikan bahwa folder tidak memiliki URL.
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+
update()
chrome.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
Memperbarui properti bookmark atau folder. Tentukan hanya properti yang ingin Anda ubah; properti yang tidak ditentukan tidak akan berubah. Catatan: Saat ini, hanya 'title' dan 'url' yang didukung.
Parameter
-
id
string
-
perubahan
objek
-
judul
string opsional
-
url
string opsional
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90+
Acara
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Diaktifkan saat 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
-
judul
string
-
url
string opsional
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Diaktifkan saat urutan turunan folder berubah karena urutan diurutkan di UI. Hal ini tidak dipanggil sebagai hasil dari 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. Pengamat yang mahal harus mengabaikan pembaruan onCreated hingga onImportEnded dipicu. Observer tetap harus segera menangani notifikasi lainnya.
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
-
indeks
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 dikirimkan 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
-
indeks
angka
-
nodeChrome 48+
-
parentId
string
-
-