Izin ini memicu peringatan.
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
Manifes
Anda harus mendeklarasikan izin "bookmarks" di manifes ekstensi untuk menggunakan API bookmark. Contoh:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
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,
callback?: function,
): Promise<BookmarkTreeNode>
Membuat bookmark atau folder di bawah parentId yang ditentukan. Jika URL adalah NULL atau tidak ada, maka akan berupa folder.
Parameter
-
bookmark
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(result: BookmarkTreeNode) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
): Promise<BookmarkTreeNode[]>
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+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Mengambil turunan dari ID BookmarkTreeNode yang ditentukan.
Parameter
-
id
string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
): Promise<BookmarkTreeNode[]>
Mengambil bookmark yang baru 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+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Mengambil bagian dari hierarki Penanda, dimulai dari node yang ditentukan.
Parameter
-
id
string
ID root subpohon yang akan diambil.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
getTree()
chrome.bookmarks.getTree(
callback?: function,
): Promise<BookmarkTreeNode[]>
Mengambil seluruh hierarki Bookmark.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(results: BookmarkTreeNode[]) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode[]>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
): Promise<BookmarkTreeNode>
Memindahkan BookmarkTreeNode yang ditentukan ke lokasi yang diberikan.
Parameter
-
id
string
-
destination
objek
-
indeks
nomor opsional
-
parentId
string opsional
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(result: BookmarkTreeNode) => void
-
hasil
-
Hasil
-
Promise<BookmarkTreeNode>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
): Promise<void>
Menghapus bookmark atau folder bookmark kosong.
Parameter
-
id
string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
): Promise<void>
Menghapus folder bookmark secara rekursif.
Parameter
-
id
string
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 90+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
): Promise<