ContentIndex: метод add()
Ограниченная доступность
Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости браузеров.
Примечание: Эта функция доступна в Web Workers.
Метод add() интерфейса ContentIndex регистрирует элемент в индексе контента.
Синтаксис
add(contentDescription)
Параметры
contentDescription-
Объект
Object, содержащий следующие данные:id-
Уникальный идентификатор
String. title-
Заголовок
Stringэлемента. Используется в отображаемых пользователю списках контента. description-
Описание
Stringэлемента. Используется в отображаемых пользователю списках контента. url-
Stringсодержащий URL соответствующего HTML-документа. Должен находиться в пределах действия текущего сервис-воркера. categoryНеобязательно-
Строка
String, определяющая категорию контента. Может быть:-
''Пустая строкаString, по умолчанию. homepagearticlevideoaudio
-
iconsНеобязательно-
Массив
Arrayресурсов изображений, определённых как объектObjectсо следующими данными:src-
URL
Stringисходного изображения. sizesНеобязательно-
Строковое представление
Stringразмера изображения. typeНеобязательно-
Тип MIME изображения.
labelНеобязательно-
Строка, представляющая доступное имя значка.
Возвращаемое значение
Возвращает Promise, который разрешается со значением undefined.
Исключения
TypeError-
Это исключение выбрасывается в следующих случаях:
- Регистрация сервис-воркера отсутствует или сервис-воркер не содержит
FetchEvent. - Отсутствуют, имеют неверный тип или пусты параметры
id,title,descriptionилиurl. (должны быть строкиString). - Значение параметра
urlне соответствует правилу одного происхождения с сервис-воркером. - Один из элементов в
iconsне является изображением, или получение одного из элементов вiconsзавершилось ошибкой сети или декодирования.
- Регистрация сервис-воркера отсутствует или сервис-воркер не содержит
Примеры
Здесь мы объявляем элемент в правильном формате и создаём асинхронную функцию, которая использует метод add для регистрации его в индексе контента.
// our content
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",
};
// our asynchronous function to add indexed content
async function registerContent(data) {
const registration = await navigator.serviceWorker.ready;
// feature detect Content Index
if (!registration.index) {
return;
}
// register content
try {
await registration.index.add(data);
} catch (e) {
console.log("Failed to register content: ", e.message);
}
}
Метод add также может быть использован в контексте сервис-воркера.
// our content
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);
Спецификации
| Спецификация |
|---|
| Content Index # content-index-add |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
add |
Нет | Нет | Нет | Нет | Нет | 84 | Нет | 60 | Нет | 14.0 | 84 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ContentIndex/add