ContentIndex: phương thức getAll()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
Phương thức getAll() của giao diện ContentIndex trả về một Promise được giải quyết với một danh sách có thể lặp các mục trong chỉ mục nội dung.
Cú pháp
getAll()
Tham số
Không có.
Giá trị trả về
Trả về một Promise được giải quyết với một Array các mục contentDescription.
contentDescription-
Mỗi mục được trả về là một
Objectchứa dữ liệu sau:id-
Một mã định danh
Stringduy nhất. title-
Một tiêu đề
Stringcủa mục. Được dùng trong các danh sách nội dung hiển thị cho người dùng. description-
Một mô tả
Stringcủa mục. Được dùng trong các danh sách nội dung hiển thị cho người dùng. url-
Một
Stringchứa URL của tài liệu HTML tương ứng. URL này phải nằm trong phạm vi của service worker hiện tại. categoryOptional-
Một
Stringxác định danh mục của nội dung. Có thể là:''MộtStringrỗng, đây là giá trị mặc định.homepagearticlevideoaudio
iconsOptional-
Một
Arraycác tài nguyên ảnh, được xác định dưới dạng mộtObjectvới dữ liệu sau:src-
Một URL
Stringcủa ảnh nguồn. sizesOptional-
Một
Stringbiểu diễn kích thước ảnh. typeOptional-
MIME type của ảnh.
labelOptional-
Một chuỗi biểu diễn tên có thể truy cập của biểu tượng.
Ngoại lệ
Không có ngoại lệ nào được ném ra. Nếu không có mục nào trong Content Index, một Array rỗng sẽ được trả về.
Ví dụ
Ví dụ bên dưới cho thấy một hàm bất đồng bộ lấy các mục trong chỉ mục nội dung rồi lặp qua từng mục để xây dựng một danh sách cho giao diện.
async function createReadingList() {
// truy cập service worker registration
const registration = await navigator.serviceWorker.ready;
// lấy các mục trong chỉ mục
const entries = await registration.index.getAll();
// tạo phần tử chứa
const readingListElem = document.createElement("div");
// kiểm tra xem có mục nào không
if (entries.length === 0) {
// nếu không có mục nào, hiển thị thông báo
const message = document.createElement("p");
message.innerText =
"You currently have no articles saved for offline reading.";
readingListElem.append(message);
} else {
// nếu có mục, hiển thị chúng dưới dạng danh sách liên kết tới nội dung
const listElem = document.createElement("ul");
for (const entry of entries) {
const listItem = document.createElement("li");
const anchorElem = document.createElement("a");
anchorElem.innerText = entry.title;
anchorElem.setAttribute("href", entry.url);
listElem.append(listItem);
}
readingListElem.append(listElem);
}
}
Thông số kỹ thuật
| Specification |
|---|
| Content Index> # content-index-getall> |