Nội dung mô tả
Dùng API chrome.readingList
để đọc và sửa đổi các mục trong 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
Đặt hàng
Các mục trong danh sách đọc không theo thứ tự nào được đảm bảo.
Điểm 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 cho API Danh sách đọc. Xem Mẫu phần mở rộng để biết ví dụ hoàn chỉnh về phần mở rộng.
Thêm một mục
Để thêm một mục vào danh sách đọc, hãy dùng hàm chrome.readingList.addEntry()
:
chrome.readingList.addEntry({
title: "New to the web platform in September | web.dev",
url: "https://developer.chrome.com/",
hasBeenRead: false
});
Các mục hiển thị
Để hiện các mục trong danh sách đọc, hãy sử 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 sử dụng chrome.readingList.removeEntry()
:
chrome.readingList.removeEntry({
url: "https://developer.chrome.com/"
});
Mẫu tiện ích
Để xem thêm bản minh hoạ tiện ích của API Danh sách đọc, hãy xem mẫu API Danh sách đọc.
Loại
AddEntryOptions
Thuộc tính
-
hasBeenRead
boolean
Sẽ là
true
nếu mục nhập đã được đọc. -
title
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 các mục đã đọc (
true
) hay chưa đọc (false
). -
title
chuỗi không bắt buộc
Một 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
number
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
Sẽ là
true
nếu mục nhập đã được đọc. -
lastUpdateTime
number
Lần cuối cùng mục nhập đượ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.
-
title
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ị.
-
title
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ục nhập vào danh sách đọc nếu chưa có.
Tham số
-
mục nhập
Mục 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ề
-
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 để có 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ẽ được 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 nhập 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 cơ sở lưu trú 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
-
mục nhập
-
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 để có 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ẽ được 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ó.
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ề
-
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 để có 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ẽ được 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ó.
Tham 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
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 để có 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ẽ được phân giải bằng cùng một 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
-