chrome.bookmarks

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

Mengklik bintang akan menambahkan bookmark

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 ke true), properti ini akan selalu menjadi false.

  • judul

    string

    Teks yang ditampilkan untuk node.

  • tidak dapat diubah

    "managed"
     opsional

    Menunjukkan 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

Chrome 44+

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

Chrome 134+

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

Tidak digunakan lagi

Operasi tulis bookmark tidak lagi dibatasi oleh Chrome.

Nilai

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

Tidak digunakan lagi

Operasi tulis bookmark tidak lagi dibatasi oleh Chrome.

Nilai

1000000

Metode

create()

Janji
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

Hasil

  • Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

get()

Janji
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

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getChildren()

Janji
chrome.bookmarks.getChildren(
  id: string,
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

Mengambil turunan dari ID BookmarkTreeNode yang ditentukan.

Parameter

Hasil

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getRecent()

Janji
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

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getSubTree()

Janji
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

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getTree()

Janji
chrome.bookmarks.getTree(
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

Mengambil seluruh hierarki Bookmark.

Parameter

Hasil

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

move()

Janji
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

  • Chrome 90+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

remove()

Janji
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()

Janji
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.

Janji
chrome.bookmarks.search(
  query: string | object,
  callback?: function,
)
: Promise<