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
bookmarksAnda 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
- 
    childrenBookmarkTreeNode[] opsional Daftar turunan yang diurutkan dari node ini. 
- 
    dateAddednomor opsional Saat node ini dibuat, dalam milidetik sejak epoch ( new Date(dateAdded)).
- 
    dateGroupModifiednomor opsional Waktu terakhir kali isi folder ini berubah, dalam milidetik sejak epoch. 
- 
    dateLastUsednomor opsional Chrome 114+Kapan node ini terakhir dibuka, dalam milidetik sejak epoch. Tidak disetel untuk folder. 
- 
    folderTypeFolderType 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. 
- 
    idstring ID unik untuk node. ID bersifat unik dalam profil saat ini, dan tetap valid meskipun setelah browser dimulai ulang. 
- 
    indeksnomor opsional Posisi berbasis 0 dari node ini dalam folder induknya. 
- 
    parentIdstring opsional idfolder induk. Dihilangkan untuk node root.
- 
    menyinkronkanboolean 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 FolderTypeyang 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.
- 
    judulstring Teks yang ditampilkan untuk node. 
- 
    tidak dapat diubah"managed" 
 opsionalMenunjukkan alasan mengapa node ini tidak dapat diubah. Nilai managedmenunjukkan bahwa node ini dikonfigurasi oleh administrator sistem atau oleh wali pengguna yang diawasi. Dihilangkan jika node dapat diubah oleh pengguna dan ekstensi (default).
- 
    urlstring 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
- 
    indeksnomor opsional 
- 
    parentIdstring opsional Default-nya adalah folder Bookmark Lainnya. 
- 
    judulstring opsional 
- 
    urlstring 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
- 
    idOrIdListstring | [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
- 
    idstring 
Hasil
- 
            Promise<BookmarkTreeNode[]> Chrome 90+
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Mengambil bookmark yang baru ditambahkan.
Parameter
- 
    numberOfItemsangka 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
- 
    idstring 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
- 
    idstring 
- 
    destinationobjek - 
    indeksnomor opsional 
- 
    parentIdstring opsional 
 
- 
    
Hasil
- 
            Promise<BookmarkTreeNode> Chrome 90+
remove()
chrome.bookmarks.remove(
id: string,
): Promise<void>
Menghapus bookmark atau folder bookmark kosong.
Parameter
- 
    idstring 
Hasil
- 
            Promise<void> Chrome 90+
removeTree()
chrome.bookmarks.removeTree(
id: string,
): Promise<void>
Menghapus folder bookmark secara rekursif.
Parameter
- 
    idstring 
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
- 
    kueristring | object String kata dan frasa yang dikutip yang dicocokkan dengan URL dan judul bookmark, atau objek. Jika objek, properti query,url, dantitledapat ditentukan dan bookmark yang cocok dengan semua properti yang ditentukan akan dihasilkan.- 
    kueristring opsional String kata dan frasa yang dikutip yang dicocokkan dengan URL dan judul bookmark. 
- 
    judulstring opsional Judul bookmark; cocok kata demi kata. 
- 
    urlstring 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
- 
    idstring 
- 
    perubahanobjek - 
    judulstring opsional 
- 
    urlstring 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
- 
    callbackfungsi Parameter callbackterlihat seperti:(id: string, changeInfo: object) => void - 
    idstring 
- 
    changeInfoobjek - 
    judulstring 
- 
    urlstring 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
- 
    callbackfungsi Parameter callbackterlihat seperti:(id: string, reorderInfo: object) => void - 
    idstring 
- 
    reorderInfoobjek - 
    childIdsstring[] 
 
- 
    
 
- 
    
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Diaktifkan saat bookmark atau folder dibuat.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(id: string, bookmark: BookmarkTreeNode) => void - 
    idstring 
- 
    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
- 
    callbackfungsi Parameter callbackterlihat seperti:() => void 
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Diaktifkan saat sesi impor bookmark berakhir.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:() => void 
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Diaktifkan saat bookmark atau folder dipindahkan ke folder induk lain.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(id: string, moveInfo: object) => void - 
    idstring 
- 
    moveInfoobjek - 
    indeksangka 
- 
    oldIndexangka 
- 
    oldParentIdstring 
- 
    parentIdstring 
 
- 
    
 
- 
    
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
- 
    callbackfungsi Parameter callbackterlihat seperti:(id: string, removeInfo: object) => void - 
    idstring 
- 
    removeInfoobjek - 
    indeksangka 
- 
    nodeChrome 48+
- 
    parentIdstring 
 
- 
    
 
-