Mô tả
Dùng chrome.readingList
API để đọc và sửa đổi các mục trong Reading List (Danh sách đọc).
Quyền
readingList
Để sử dụng API Danh sách đọc, hãy thêm quyền "readingList"
vào tệp tệp kê khai của tiện ích:
manifest.json:
{
"name": "My reading list extension",
...
"permissions": [
"readingList"
]
}
Phạm vi cung cấp
Chrome có một danh sách đọc nằm trên bảng điều khiển bên. Tính năng này cho phép người dùng lưu trang web để đọc vào lúc khác hoặc khi không có mạng. Sử dụng API Danh sách đọc để truy xuất các mục hiện có và thêm hoặc xoá các mục khỏi danh sách.
Khái niệm và cách sử dụng
Thứ tự mặt hàng
Các mục trong danh sách đọc không theo thứ tự nào được đảm bảo.
Tính duy nhất của mục
Các mục được khoá theo URL. Bao gồm cả hàm băm và chuỗi truy vấn.
Trường hợp sử dụng
Các phần sau đây minh hoạ một số trường hợp sử dụng phổ biến cho API Danh sách đọc. Xem Mẫu tiện ích để biết ví dụ đầy đủ về tiện ích.
Thêm một mục
Để thêm một mục vào danh sách đọc, hãy sử dụng chrome.readingList.addEntry()
:
chrome.readingList.addEntry({
title: "New to the web platform in September | web.dev",
url: "https://developer.chrome.com/",
hasBeenRead: false
});
Hiển thị các mục
Để cho thấy các mục trong danh sách đọc, hãy dùng phương thức chrome.readingList.query()
để truy xuất các mục đó.
.
const items = await chrome.readingList.query({});
for (const item of items) {
// Do something do display the item
}
Đánh dấu một mục là đã đọc
Bạn có thể dùng chrome.readingList.updateEntry()
để cập nhật tiêu đề, URL và trạng thái đọc. Mã sau đây đánh dấu một mục là đã đọc:
chrome.readingList.updateEntry({
url: "https://developer.chrome.com/",
hasBeenRead: true
});
Xóa một mục
Để xoá một mục, hãy dùng chrome.readingList.removeEntry()
:
chrome.readingList.removeEntry({
url: "https://developer.chrome.com/"
});
Mẫu tiện ích
Để biết thêm bản minh hoạ về tiện ích của Read List API, hãy xem mẫu Reading List API.
Loại
AddEntryOptions
Thuộc tính
-
hasBeenRead
boolean
Giá trị này sẽ là
true
nếu người dùng đã đọc mục nhập. -
tiêu đề
string
Tiêu đề của bài viết.
-
url
string
URL của mục nhập.
QueryInfo
Thuộc tính
-
hasBeenRead
boolean không bắt buộc
Cho biết cần tìm kiếm mục đã đọc (
true
) hay chưa đọc (false
). -
tiêu đề
chuỗi không bắt buộc
Tiêu đề cần tìm kiếm.
-
url
chuỗi không bắt buộc
URL cần tìm kiếm.
ReadingListEntry
Thuộc tính
-
creationTime
số
Thời gian tạo mục nhập. Được ghi lại bằng mili giây kể từ ngày 1 tháng 1 năm 1970.
-
hasBeenRead
boolean
Giá trị này sẽ là
true
nếu người dùng đã đọc mục nhập. -
lastUpdateTime
số
Lần gần nhất mục này được cập nhật. Giá trị này tính bằng mili giây kể từ ngày 1 tháng 1 năm 1970.
-
tiêu đề
string
Tiêu đề của bài viết.
-
url
string
URL của mục nhập.
RemoveOptions
Thuộc tính
-
url
string
URL cần xoá.
UpdateEntryOptions
Thuộc tính
-
hasBeenRead
boolean không bắt buộc
Trạng thái đọc đã cập nhật. Trạng thái hiện tại vẫn giữ nguyên nếu bạn không cung cấp giá trị.
-
tiêu đề
chuỗi không bắt buộc
Tiêu đề mới. Ô hiện tại sẽ vẫn còn nếu bạn không cung cấp giá trị.
-
url
string
URL sẽ được cập nhật.
Phương thức
addEntry()
chrome.readingList.addEntry(
entry: AddEntryOptions,
callback?: function,
)
Thêm một mục vào danh sách đọc nếu danh sách đó chưa tồn tại.
Thông số
-
mục nhập
Mục nhập cần thêm vào danh sách đọc.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp cho khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
query()
chrome.readingList.query(
info: QueryInfo,
callback?: function,
)
Truy xuất tất cả các mục khớp với thuộc tính QueryInfo
. Những cơ sở lưu trú không được cung cấp sẽ không được so khớp.
Thông số
-
info
Các thuộc tính cần tìm kiếm.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(entries: ReadingListEntry[]) => void
-
bài viết
-
Giá trị trả về
-
Promise<ReadingListEntry[]>
Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp cho khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
callback?: function,
)
Xoá một mục khỏi danh sách đọc nếu có.
Thông số
-
info
Mục cần xoá khỏi danh sách đọc.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp cho khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
callback?: function,
)
Cập nhật một mục trong danh sách đọc nếu có.
Thông số
-
info
Mục cần cập nhật.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Lời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.
Sự kiện
onEntryAdded
chrome.readingList.onEntryAdded.addListener(
callback: function,
)
Được kích hoạt khi thêm ReadingListEntry
vào danh sách đọc.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(entry: ReadingListEntry) => void
-
mục nhập
-
onEntryRemoved
chrome.readingList.onEntryRemoved.addListener(
callback: function,
)
Được kích hoạt khi ReadingListEntry
bị xoá khỏi danh sách đọc.
Thông số
-
số gọi lại
hàm
Tham số
callback
có dạng như sau:(entry: ReadingListEntry) => void
-
mục nhập
-
onEntryUpdated
chrome.readingList.onEntryUpdated.addListener(
callback: function,
)
Được kích hoạt khi ReadingListEntry
được cập nhật trong danh sách đọc.
Thông số
-
số gọi lại
hàm
Tham số
callback
có dạng như sau:(entry: ReadingListEntry) => void
-
mục nhập
-