browser.bookmarks

Deskripsi

Gunakan chrome.bookmarks API untuk membuat, mengatur, dan memanipulasi bookmark. Lihat juga Halaman Penggantian, yang dapat Anda gunakan untuk membuat halaman Pengelola Bookmark kustom.

Mengklik bintang akan menambahkan bookmark
Mengklik bintang akan menambahkan bookmark.

Izin

bookmarks

Anda harus mendeklarasikan izin "bookmarks" di manifes ekstensi untuk menggunakan bookmarks API. Contoh:

{
  "name": "My extension",
  ...
  "permissions": [
    "bookmarks"
  ],
  ...
}

Konsep dan penggunaan

Objek dan properti

Bookmark diatur dalam hierarki, dengan setiap node dalam hierarki berupa bookmark atau folder (terkadang disebut grup). Setiap node dalam hierarki diwakili oleh objek bookmarks.BookmarkTreeNode.

Properti BookmarkTreeNode digunakan di seluruh browser.bookmarks API. Misalnya, saat Anda memanggil bookmarks.create, Anda 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 node.

Contoh

Kode berikut membuat folder dengan judul "Bookmark ekstensi". Argumen pertama untuk create() menentukan properti untuk folder baru. Argumen kedua menentukan fungsi yang akan dijalankan setelah folder dibuat.

browser.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 akan terjadi hal buruk jika pembuatan bookmark gagal, kode ini tidak perlu menentukan fungsi callback.

browser.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) di hierarki bookmark. Node turunan diurutkan dalam folder induknya.

Properti

  • turunan

    BookmarkTreeNode[] opsional

    Daftar turunan yang diurutkan dari node ini.

  • dateAdded

    number opsional

    Waktu pembuatan node ini, dalam milidetik sejak epoch (new Date(dateAdded)).

  • dateGroupModified

    number opsional

    Waktu terakhir konten folder ini diubah, dalam milidetik sejak epoch.

  • dateLastUsed

    number opsional

    Chrome 114+ browser.* sejak Chrome 148

    Kapan node ini terakhir dibuka, dalam milidetik sejak epoch. Tidak ditetapkan untuk folder.

  • folderType

    FolderType opsional

    Chrome 134+ browser.* sejak Chrome 148

    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 properti unmodifiable yang ditetapkan. 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 API ekstensi.

  • id

    string

    ID unik untuk node. ID bersifat unik dalam profil saat ini, dan tetap valid bahkan setelah browser dimulai ulang.

  • indeks

    number opsional

    Posisi berbasis 0 dari node ini dalam folder induknya.

  • parentId

    string opsional

    id folder induk. Dihilangkan untuk node root.

  • menyinkronkan

    boolean

    Chrome 134+ browser.* sejak Chrome 148

    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 mungkin dapat disinkronkan melalui pihak ketiga, meskipun nilai ini salah.

    Untuk node terkelola (node tempat unmodifiable ditetapkan ke true), properti ini akan selalu berupa false.

  • judul

    string

    Teks yang ditampilkan untuk node.

  • tidak dapat diubah

    "managed"
     opsional

    Menunjukkan alasan 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+ browser.* sejak Chrome 148

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

"managed"

CreateDetails

Objek yang diteruskan ke fungsi create().

Properti

  • indeks

    number opsional

  • parentId

    string opsional

    Default-nya adalah folder Bookmark Lainnya.

  • judul

    string opsional

  • url

    string opsional

FolderType

Chrome 134+ browser.* sejak Chrome 148

Menunjukkan jenis folder.

Enum

"bookmarks-bar"
Folder yang kontennya ditampilkan di bagian atas jendela browser.

"other"
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.

"managed"
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

ROOT_NODE_ID

Chrome 145+ browser.* sejak Chrome 148

id yang terkait dengan node level root.

Nilai

"0"

Metode

create()

browser.bookmarks.create(
  bookmark: CreateDetails,
)
: Promise<BookmarkTreeNode>

Membuat bookmark atau folder di bawah parentId yang ditentukan. Jika URL bernilai NULL atau tidak ada, URL tersebut akan menjadi folder.

Parameter

Hasil

get()

browser.bookmarks.get(
  idOrIdList: string | [string, ...string[]],
)
: Promise<BookmarkTreeNode[]>

Mengambil BookmarkTreeNode yang ditentukan.

Parameter

  • idOrIdList

    string | [string, ...string[]]

    Satu ID bernilai string, atau array ID bernilai string

Hasil

getChildren()

browser.bookmarks.getChildren(
  id: string,
)
: Promise<BookmarkTreeNode[]>

Mengambil turunan dari ID BookmarkTreeNode yang ditentukan.

Parameter

  • id

    string

Hasil

getRecent()

browser.bookmarks.getRecent(
  numberOfItems: number,
)
: Promise<BookmarkTreeNode[]>

Mengambil bookmark yang baru ditambahkan.

Parameter

  • numberOfItems

    angka

    Jumlah maksimum item untuk ditampilkan.

Hasil

getSubTree()

browser.bookmarks.getSubTree(
  id: string,
)
: Promise<BookmarkTreeNode[]>

Mengambil bagian dari hierarki Bookmark, dimulai dari node yang ditentukan.

Parameter

  • id

    string

    ID root subhierarki yang akan diambil.

Hasil

getTree()

browser.bookmarks.getTree(): Promise<BookmarkTreeNode[]>

Mengambil seluruh hierarki Bookmark.

Hasil

move()

browser.bookmarks.move(
  id: string,
  destination: object,
)
: Promise<BookmarkTreeNode>

Memindahkan BookmarkTreeNode yang ditentukan ke lokasi yang diberikan.

Parameter

  • id

    string

  • destination

    objek

    • indeks

      number opsional

    • parentId

      string opsional

Hasil

remove()

browser.bookmarks.remove(
  id: string,
)
: Promise<void>

Menghapus bookmark atau folder bookmark kosong.

Parameter

  • id

    string

Hasil

  • Promise<void>

    Chrome 90+ browser.* sejak Chrome 148

removeTree()

browser.bookmarks.removeTree(
  id: string,
)
: Promise<void>

Menghapus folder bookmark secara rekursif.

Parameter

  • id

    string

Hasil

  • Promise<void>

    Chrome 90+ browser.* sejak Chrome 148
browser.bookmarks.search(
  query: string | object,
)
: Promise<BookmarkTreeNode[]>

Menelusuri BookmarkTreeNodes yang cocok dengan kueri yang diberikan. Kueri yang ditentukan dengan objek menghasilkan BookmarkTreeNodes 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 berupa objek, properti query, url, dan title dapat ditentukan dan bookmark yang cocok dengan semua properti yang ditentukan akan dibuat.

    • kueri

      string opsional

      String kata dan frasa yang dikutip yang dicocokkan dengan URL dan judul bookmark.

    • judul

      string opsional

      Judul bookmark; cocok verbatim.

    • url

      string opsional

      URL bookmark; cocok secara verbatim. Perhatikan bahwa folder tidak memiliki URL.

Hasil

update()

browser.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 diubah. Catatan: Saat ini, hanya 'title' dan 'url' yang didukung.

Parameter

  • id

    string

  • perubahan

    objek

    • judul

      string opsional

    • url

      string opsional

Hasil

Acara

onChanged

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

browser.bookmarks.onChildrenReordered.addListener(
  callback: function,
)

Diaktifkan saat turunan folder telah berubah urutannya karena urutan diurutkan di UI. 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

browser.bookmarks.onCreated.addListener(
  callback: function,
)

Diaktifkan saat bookmark atau folder dibuat.

Parameter

onImportBegan

browser.bookmarks.onImportBegan.addListener(
  callback: function,
)

Diaktifkan saat sesi impor bookmark dimulai. Observer yang mahal harus mengabaikan update onCreated hingga onImportEnded diaktifkan. Observer tetap harus segera menangani notifikasi lainnya.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    () => void

onImportEnded

browser.bookmarks.onImportEnded.addListener(
  callback: function,
)

Diaktifkan saat sesi impor bookmark berakhir.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    () => void

onMoved

browser.bookmarks.onMoved.addListener(
  callback: function,
)

Diaktifkan saat bookmark atau folder dipindahkan ke folder induk yang berbeda.

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

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

      • indeks

        angka

      • Chrome 48+ browser.* sejak Chrome 148
      • parentId

        string