ContentIndex: phương thức add()
Khả dụng hạn chế
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 add() của giao diện ContentIndex đăng ký một mục với chỉ mục nội dung.
Cú pháp
add(contentDescription)
Tham số
contentDescription-
Một
Objectchứa dữ liệu sau:id-
Một mã định danh
Stringduy nhất. title-
Một tiêu đề
Stringcho 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ả
Stringcho 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.
Giá trị trả về
Trả về một Promise được giải quyết với undefined.
Ngoại lệ
TypeError-
Ngoại lệ này được ném ra trong các điều kiện sau:
- Service worker registration không tồn tại hoặc service worker không chứa
FetchEvent. - Một trong các tham số
id,title,descriptionhoặcurlbị thiếu, không phải kiểuString, hoặc là mộtStringrỗng. - Tham số
urlkhông cùng same-origin policy với service worker. - Một trong các mục trong
iconskhông phải kiểu ảnh, hoặc việc truy xuất một trong các mục trongiconsthất bại do lỗi mạng hoặc lỗi giải mã.
- Service worker registration không tồn tại hoặc service worker không chứa
Ví dụ
Ở đây, chúng ta khai báo một mục theo đúng định dạng và tạo một hàm bất đồng bộ dùng phương thức add để đăng ký mục đó với chỉ mục nội dung.
// nội dung của chúng ta
const item = {
id: "post-1",
url: "/posts/amet.html",
title: "Amet consectetur adipisicing",
description:
"Repellat et quia iste possimus ducimus aliquid a aut eaque nostrum.",
icons: [
{
src: "/media/dark.png",
sizes: "128x128",
type: "image/png",
},
],
category: "article",
};
// hàm bất đồng bộ để thêm nội dung được lập chỉ mục
async function registerContent(data) {
const registration = await navigator.serviceWorker.ready;
// phát hiện Content Index
if (!registration.index) {
return;
}
// đăng ký nội dung
try {
await registration.index.add(data);
} catch (e) {
console.log("Failed to register content: ", e.message);
}
}
Phương thức add cũng có thể được dùng trong phạm vi service worker.
// nội dung của chúng ta
const item = {
id: "post-1",
url: "/posts/amet.html",
title: "Amet consectetur adipisicing",
description:
"Repellat et quia iste possimus ducimus aliquid a aut eaque nostrum.",
icons: [
{
src: "/media/dark.png",
sizes: "128x128",
type: "image/png",
},
],
category: "article",
};
self.registration.index.add(item);
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Content Index> # content-index-add> |