Deskripsi
Gunakan chrome.readingList
API untuk membaca dan mengubah item di Daftar Bacaan.
Izin
readingList
Untuk menggunakan Reading List API, tambahkan izin "readingList"
di file manifes ekstensi:
manifest.json:
{
"name": "My reading list extension",
...
"permissions": [
"readingList"
]
}
Ketersediaan
Chrome menampilkan daftar bacaan yang terletak di panel samping. Memungkinkan pengguna menyimpan halaman web untuk dibaca nanti atau saat offline. Gunakan Reading List API untuk mengambil item yang ada dan menambahkan atau menghapus item dari daftar.
Konsep dan penggunaan
Pesanan item
Item dalam daftar bacaan tidak diurutkan berdasarkan jaminan.
Keunikan item
Item diberi kunci berdasarkan URL. Kode ini mencakup hash dan string kueri.
Kasus penggunaan
Bagian berikut menunjukkan beberapa kasus penggunaan umum untuk Reading List API. Lihat Contoh ekstensi untuk mengetahui contoh ekstensi yang 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
});
Menampilkan item
Untuk menampilkan item dari daftar bacaan, gunakan metode chrome.readingList.query()
untuk mengambilnya.
metode.
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 baca. 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 Read List API lainnya, lihat contoh API Daftar Bacaan.
Jenis
AddEntryOptions
Properti
-
hasBeenRead
boolean
Akan menjadi
true
jika entri telah dibaca. -
judul
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
). -
judul
string opsional
Judul yang akan ditelusuri.
-
url
string opsional
URL yang akan ditelusuri.
ReadingListEntry
Properti
-
creationTime
angka
Waktu entri dibuat. Dicatat 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.
-
judul
string
Judul entri.
-
url
string
URL entri.
RemoveOptions
Properti
-
url
string
URL yang akan dihapus.
UpdateEntryOptions
Properti
-
hasBeenRead
boolean opsional
Status baca yang diperbarui. Status yang ada akan tetap ada jika nilai tidak diberikan.
-
judul
string opsional
Judul baru. Kartu yang ada akan tetap ada jika nilai tidak diberikan.
-
url
string
URL yang akan diperbarui.
Metode
addEntry()
chrome.readingList.addEntry(
entry: AddEntryOptions,
callback?: function,
)
Menambahkan entri ke daftar bacaan jika tidak ada.
Parameter
-
entri
Entri yang akan ditambahkan ke daftar bacaan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => 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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
query()
chrome.readingList.query(
info: QueryInfo,
callback?: function,
)
Mengambil semua entri yang cocok dengan properti QueryInfo
. Properti yang tidak diberikan tidak akan dicocokkan.
Parameter
-
info
Properti yang akan ditelusuri.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(entries: ReadingListEntry[]) => void
-
entries
-
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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
callback?: function,
)
Menghapus entri dari daftar bacaan jika ada.
Parameter
-
info
Entri yang akan dihapus dari daftar bacaan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => 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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
callback?: function,
)
Memperbarui entri daftar bacaan jika ada.
Parameter
-
info
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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
Acara
onEntryAdded
chrome.readingList.onEntryAdded.addListener(
callback: function,
)
Dipicu saat ReadingListEntry
ditambahkan ke daftar bacaan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(entry: ReadingListEntry) => void
-
entri
-
onEntryRemoved
chrome.readingList.onEntryRemoved.addListener(
callback: function,
)
Dipicu saat ReadingListEntry
dihapus dari daftar bacaan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(entry: ReadingListEntry) => void
-
entri
-
onEntryUpdated
chrome.readingList.onEntryUpdated.addListener(
callback: function,
)
Dipicu saat ReadingListEntry
diperbarui dalam daftar bacaan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(entry: ReadingListEntry) => void
-
entri
-