chrome.readingList

Deskripsi

Gunakan chrome.readingList API untuk membaca dari dan mengubah item dalam Daftar Bacaan.

Izin

readingList

Untuk menggunakan Read List API, tambahkan izin "readingList" dalam file manifes ekstensi:

manifest.json:

{
  "name": "My reading list extension",
  ...
  "permissions": [
    "readingList"
  ]
}

Ketersediaan

Chrome 120 dan yang lebih baru MV3+

Chrome menampilkan daftar bacaan yang terletak di panel samping. Fitur ini memungkinkan pengguna menyimpan halaman web untuk dibaca nanti atau saat offline. Gunakan Read List API untuk mengambil item yang ada dan menambahkan atau menghapus item dari daftar.

Daftar bacaan yang menampilkan sejumlah artikel
Daftar bacaan yang menampilkan sejumlah artikel

Konsep dan penggunaan

Pengurutan item

Item dalam daftar bacaan tidak dijamin memiliki urutan apa pun.

Keunikan item

Item dikunci dengan URL. Ini mencakup hash dan string kueri.

Kasus penggunaan

Bagian berikut ini menunjukkan beberapa kasus penggunaan umum untuk Read List API. Lihat Contoh ekstensi untuk mengetahui contoh ekstensi lengkap.

Tambahkan item

Untuk menambahkan item ke daftar bacaan, gunakan chrome.readingList.addEntry():

chrome.readingList.addEntry({
  title: "New to the web platform in September | web.dev",
  url: "https://developer.chrome.com/",
  hasBeenRead: false
});

Item tampilan

Untuk menampilkan item dari daftar bacaan, gunakan metode chrome.readingList.query() untuk mengambilnya.

const items = await chrome.readingList.query({});

for (const item of items) {
  // Do something do display the item
}

Menandai item sebagai telah dibaca

Anda dapat menggunakan chrome.readingList.updateEntry() untuk memperbarui judul, URL, dan status membaca. Kode berikut menandai item sebagai telah dibaca:

chrome.readingList.updateEntry({
  url: "https://developer.chrome.com/",
  hasBeenRead: true
});

Menghapus item

Untuk menghapus item, gunakan chrome.readingList.removeEntry():

chrome.readingList.removeEntry({
  url: "https://developer.chrome.com/"
});

Contoh ekstensi

Untuk demo ekstensi API Daftar Bacaan lainnya, lihat contoh API Daftar Bacaan.

Jenis

AddEntryOptions

Properti

  • hasBeenRead

    boolean

    Akan menjadi true jika entri telah dibaca.

  • title

    string

    Judul entri.

  • url

    string

    URL entri.

QueryInfo

Properti

  • hasBeenRead

    boolean opsional

    Menunjukkan apakah akan menelusuri item yang sudah dibaca (true) atau belum dibaca (false).

  • title

    string opsional

    Judul yang akan ditelusuri.

  • url

    string opsional

    URL yang akan ditelusuri.

ReadingListEntry

Properti

  • creationTime

    angka

    Waktu entri dibuat. Direkam dalam milidetik sejak 1 Januari 1970.

  • hasBeenRead

    boolean

    Akan menjadi true jika entri telah dibaca.

  • lastUpdateTime

    angka

    Terakhir kali entri diperbarui. Nilai ini dalam milidetik sejak 1 Januari 1970.

  • title

    string

    Judul entri.

  • url

    string

    URL entri.

RemoveOptions

Properti

  • url

    string

    URL yang akan dihapus.

UpdateEntryOptions

Properti

  • hasBeenRead

    boolean opsional

    Status telah dibaca yang diperbarui. Status yang ada akan tetap ada jika nilai tidak diberikan.

  • title

    string opsional

    Judul baru. Kartu yang ada akan tetap ada jika nilai tidak diberikan.

  • url

    string

    URL yang akan diperbarui.

Metode

addEntry()

Promise
chrome.readingList.addEntry(
  entry: AddEntryOptions,
  callback?: function,
)

Menambahkan entri ke daftar bacaan jika tidak ada.

Parameter

  • Entri yang akan ditambahkan ke daftar bacaan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

query()

Promise
chrome.readingList.query(
  info: QueryInfo,
  callback?: function,
)

Mengambil semua entri yang cocok dengan properti QueryInfo. Properti yang tidak diberikan tidak akan dicocokkan.

Parameter

Hasil

  • Promise<ReadingListEntry[]>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

removeEntry()

Promise
chrome.readingList.removeEntry(
  info: RemoveOptions,
  callback?: function,
)

Menghapus entri dari daftar bacaan jika ada.

Parameter

  • Entri yang akan dihapus dari daftar bacaan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

updateEntry()

Promise
chrome.readingList.updateEntry(
  info: UpdateEntryOptions,
  callback?: function,
)

Memperbarui entri daftar bacaan jika ada.

Parameter

  • Entri yang akan diperbarui.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

Peristiwa

onEntryAdded

chrome.readingList.onEntryAdded.addListener(
  callback: function,
)

Dipicu saat ReadingListEntry ditambahkan ke daftar bacaan.

Parameter

onEntryRemoved

chrome.readingList.onEntryRemoved.addListener(
  callback: function,
)

Dipicu saat ReadingListEntry dihapus dari daftar bacaan.

Parameter

onEntryUpdated

chrome.readingList.onEntryUpdated.addListener(
  callback: function,
)

Dipicu saat ReadingListEntry diperbarui dalam daftar bacaan.

Parameter