ContentIndex.getAll() - Web APIs 编辑

Draft

This page is not complete.

The getAll() method of the ContentIndex interface returns a Promise that resolves with an iterable list of content index entries.

Syntax

var indexedContent = ContentIndex.getAll();

Parameters

This method receives no parameters.

Return value

Returns a Promise that resolves with an Array of ContentDescription items.

ContentDescription
Each item returned is an Object containing the following data:
  • id: A unique String identifier.
  • title: A String title for the item. Used in user-visible lists of content.
  • title: A String title of the item. Used in user-visible lists of content.
  • description: A String description of the item. Used in user-visible lists of content.
  • url: A String containing the url of the corresponding HTML document. Needs to be under the scope of the current service worker.
  • category: Optional A String defining the category of content. Can be:
    • '' An empty String, this is the default.
    • homepage
    • article
    • video
    • audio
  • icons: Optional An Array of image resources, defined as an Object with the following data:
    • src: A url String of the source image.
    • sizes: Optional A String representation of the image size.
    • type: Optional The MIME type of the image.

Exceptions

No exceptions are thrown. If there are no items in the Content Index, an empty Array is returned.

Examples

The below example shows an asynchronous function that retrieves items within the content index and iterates over each entry, building a list for the interface.

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 (!Array.length) {

    // 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);
  }

}

Specifications

SpecificationStatusComment
Content Index API
The definition of 'getAll' in that specification.
Editor's DraftInitial definition.

Browser compatibility

BCD tables only load in the browser

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:94 次

字数:6657

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文