Spec-Zone.ru › Web APIs

ContentIndex: метод getAll()

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

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

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

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

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

Метод getAll() интерфейса ContentIndex возвращает Promise, который разрешается с итерируемым списком записей индекса контента.

Синтаксис

getAll()

Параметры

Нет.

Возвращаемое значение

Возвращает Promise, который разрешается с Array 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 Необязательно

Строка, представляющая доступное имя значка.

Исключения

Исключения не выбрасываются. Если в индексе контента нет элементов, возвращается пустой массив Array.

Примеры

Ниже представлен пример асинхронной функции, которая извлекает элементы из индекса контента и итерируется по каждой записи, создавая список для интерфейса.

async function createReadingList() {
  // access our service worker registration
  const registration = await navigator.serviceWorker.ready;

  // get our index entries
  const entries = await registration.index.getAll();

  // create a containing element
  const readingListElem = document.createElement("div");

  // test for entries
  if (entries.length === 0) {
    // if there are no entries, display a message
    const message = document.createElement("p");
    message.innerText =
      "You currently have no articles saved for offline reading.";

    readingListElem.append(message);
  } else {
    // if entries are present, display in a list of links to the content
    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);
  }
}

Спецификации

Спецификация
Индекс контента
# content-index-getall

Совместимость браузеров

Десктопные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getAll Нет Нет Нет Нет Нет 84 Нет 60 Нет 14.0 84

См. также

  • Вводная статья об API Content Index
  • 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/getAll

Spec-Zone.ru

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