Spec-Zone.ru › Web APIs

ContentIndex: метод add()

Ограниченная доступность

Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости браузеров.

Примечание: Эта функция доступна в Web Workers.

Метод add() интерфейса ContentIndex регистрирует элемент в индексе контента.

Синтаксис

add(contentDescription)

Параметры

contentDescription

Объект Object, содержащий следующие данные:

id

Уникальный идентификатор String.

title

Заголовок String элемента. Используется в отображаемых пользователю списках контента.

description

Описание String элемента. Используется в отображаемых пользователю списках контента.

url

String содержащий URL соответствующего HTML-документа. Должен находиться в пределах действия текущего сервис-воркера.

category Необязательно

Строка String, определяющая категорию контента. Может быть:

  • '' Пустая строка String, по умолчанию.
  • homepage
  • article
  • video
  • audio
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

См. также

  • Вводная статья о Content Index API
  • API сервис-воркеров, а также информация о кэше и CacheStorage

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API