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ó danh sách đọc nằm ở 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 có 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. Dữ liệu này bao gồm 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 của Read List API. 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
Để hiện 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 tin 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 nội dung 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 đề để tìm kiếm.
-
url
chuỗi không bắt buộc
URL để 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 chưa có.
Tham số
-
mục nhập
Mục nhập cần thêm vào 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ề
-
Lời hứa<vô hiệu>
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. 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.
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.
Tham số
-
info
Các thuộc tính cần tìm kiếm.
-
số 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. 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.
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
callback?: function,
)
Xoá một mục khỏi danh sách đọc nếu có.
Tham 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ề
-
Lời hứa<vô hiệu>
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. 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.
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
callback?: function,
)
Cập nhật một mục trong danh sách đọc nếu có.
Tham số
-
info
Mục để cập nhật.
-
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ề
-
Lời hứa<vô hiệu>
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. 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 ReadingListEntry
được thêm vào danh sách đọc.
Tham 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.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ 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.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(entry: ReadingListEntry) => void
-
mục nhập
-