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 uniqueString
identifier.title
: AString
title for the item. Used in user-visible lists of content.title
: AString
title of the item. Used in user-visible lists of content.description
: AString
description of the item. Used in user-visible lists of content.url
: AString
containing the url of the corresponding HTML document. Needs to be under the scope of the currentservice worker
.category
: Optional AString
defining the category of content. Can be:''
An emptyString
, this is the default.homepage
article
video
audio
icons
: Optional AnArray
of image resources, defined as anObject
with the following data:
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
Specification | Status | Comment |
---|---|---|
Content Index API The definition of 'getAll' in that specification. | Editor's Draft | Initial definition. |
Browser compatibility
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论