рдмреНрдпреМрд░рд╛
рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдореМрдЬреВрдж рдЖрдЗрдЯрдо рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЙрдирдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, chrome.readingList
API рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ.
рдЕрдиреБрдорддрд┐рдпрд╛рдВ
readingList
Reading List API рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ "readingList"
рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝реЗрдВ:
manifest.json:
{
"name": "My reading list extension",
...
"permissions": [
"readingList"
]
}
рдЙрдкрд▓рдмреНрдзрддрд╛
Chrome рдореЗрдВ, рд╕рд╛рдЗрдб рдкреИрдирд▓ рдкрд░ рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдореМрдЬреВрдж рд╣реЛрддреА рд╣реИ. рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЛ рдмрд╛рдж рдореЗрдВ рдпрд╛ рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ. рдореМрдЬреВрджрд╛ рдЖрдЗрдЯрдо рд╡рд╛рдкрд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, Reading List API рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ. рд╕рд╛рде рд╣реА, рд╕реВрдЪреА рдореЗрдВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ рдпрд╛ рд╣рдЯрд╛рдПрдВ.

рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдФрд░ рдЗрд╕реНрддреЗрдорд╛рд▓
рдЖрдЗрдЯрдо рдСрд░реНрдбрд░ рдХрд░рдирд╛
рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдореМрдЬреВрдж рдЖрдЗрдЯрдо, рдХрд┐рд╕реА рддрдп рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддреЗ.
рдкреНрд░реЙрдбрдХреНрдЯ рдХреА рдпреВрдиреАрдХрдиреЗрд╕
рдЖрдЗрдЯрдо рдХреЛ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдмрд╛рдВрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрд╕рдореЗрдВ рд╣реИрд╢ рдФрд░ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ.
рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╕реЗрдХреНрд╢рди рдореЗрдВ, Reading List API рдХреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЗ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ. рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдкреВрд░реЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕реИрдВрдкрд▓ рджреЗрдЦреЗрдВ.
рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ
рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, chrome.readingList.addEntry()
рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ:
chrome.readingList.addEntry({
title: "New to the web platform in September | web.dev",
url: "https://developer.chrome.com/",
hasBeenRead: false
});
рджрд┐рдЦрд╛рдП рдЧрдП рдЖрдЗрдЯрдо
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡ рдХреА рдЧрдИ рд╕реВрдЪреА рдореЗрдВ рдореМрдЬреВрдж рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП chrome.readingList.query()
рддрд░реАрдХреЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ.
рддрд░реАрдХрд╛.
const items = await chrome.readingList.query({});
for (const item of items) {
// Do something do display the item
}
рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ 'рдкрдврд╝рд╛ рдЧрдпрд╛' рдХреЗ рддреМрд░ рдкрд░ рдорд╛рд░реНрдХ рдХрд░рдирд╛
рдЯрд╛рдЗрдЯрд▓, рдпреВрдЖрд░рдПрд▓, рдФрд░ рдкрдврд╝рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, chrome.readingList.updateEntry()
рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб, рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ 'рдкрдврд╝рд╛ рдЧрдпрд╛' рдХреЗ рддреМрд░ рдкрд░ рдорд╛рд░реНрдХ рдХрд░рддрд╛ рд╣реИ:
chrome.readingList.updateEntry({
url: "https://developer.chrome.com/",
hasBeenRead: true
});
рдХреЛрдИ рдЖрдЗрдЯрдо рд╣рдЯрд╛рдирд╛
рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, chrome.readingList.removeEntry()
рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ:
chrome.readingList.removeEntry({
url: "https://developer.chrome.com/"
});
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕реИрдВрдкрд▓
Reading List API рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдЕрдиреНрдп рдбреЗрдореЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, Reading List API рдХрд╛ рд╕реИрдВрдкрд▓ рджреЗрдЦреЗрдВ.
рдЯрд╛рдЗрдк
AddEntryOptions
рдкреНрд░реЙрдкрд░реНрдЯреА
-
hasBeenRead
рдмреВрд▓рд┐рдпрди
рдЕрдЧрд░ рдПрдВрдЯреНрд░реА рдкрдврд╝реА рдЬрд╛ рдЪреБрдХреА рд╣реИ, рддреЛ рдЗрд╕рдХреА рд╡реИрд▓реНрдпреВ
true
рд╣реЛрдЧреА. -
title
рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рдЯрд╛рдЗрдЯрд▓.
-
url
рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдПрдВрдЯреНрд░реА рдХрд╛ рдпреВрдЖрд░рдПрд▓.
QueryInfo
рдкреНрд░реЙрдкрд░реНрдЯреА
-
hasBeenRead
рдмреВрд▓рд┐рдпрди рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ
рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрдврд╝реЗ рдЧрдП (
true
) рдпрд╛ рдирд╣реАрдВ рдкрдврд╝реЗ рдЧрдП (false
) рдЖрдЗрдЯрдо рдЦреЛрдЬрдиреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ. -
title
string рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ
рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдЯрд▓.
-
url
string рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ
рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓.
ReadingListEntry
рдкреНрд░реЙрдкрд░реНрдЯреА
-
creationTime
рд╕рдВрдЦреНрдпрд╛
рдПрдВрдЯреНрд░реА рдмрдирд╛рдП рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп. рдЗрд╕реЗ 1 рдЬрдирд╡рд░реА, 1970 рдХреЗ рдмрд╛рдж рд╕реЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ.
-
hasBeenRead
рдмреВрд▓рд┐рдпрди
рдЕрдЧрд░ рдПрдВрдЯреНрд░реА рдкрдврд╝реА рдЬрд╛ рдЪреБрдХреА рд╣реИ, рддреЛ рдЗрд╕рдХреА рд╡реИрд▓реНрдпреВ
true
рд╣реЛрдЧреА. -
lastUpdateTime
рд╕рдВрдЦреНрдпрд╛
рдПрдВрдЯреНрд░реА рдХреЛ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЗрд╕ рд╕рдордп рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛. рдпрд╣ рд╡реИрд▓реНрдпреВ, 1 рдЬрдирд╡рд░реА, 1970 рд╕реЗ рдЕрдм рддрдХ рдХреЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рд╣реЛрддреА рд╣реИ.
-
title
рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рдЯрд╛рдЗрдЯрд▓.
-
url
рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдПрдВрдЯреНрд░реА рдХрд╛ рдпреВрдЖрд░рдПрд▓.
RemoveOptions
рдкреНрд░реЙрдкрд░реНрдЯреА
-
url
рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓.
UpdateEntryOptions
рдкреНрд░реЙрдкрд░реНрдЯреА
-
hasBeenRead
рдмреВрд▓рд┐рдпрди рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ
рдкрдврд╝реЗ рдЬрд╛рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ. рдЕрдЧрд░ рдХреЛрдИ рд╡реИрд▓реНрдпреВ рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдореМрдЬреВрджрд╛ рд╕реНрдерд┐рддрд┐ рдмрдиреА рд░рд╣рддреА рд╣реИ.
-
title
string рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ
рдирдпрд╛ рдЯрд╛рдЗрдЯрд▓. рдЕрдЧрд░ рдХреЛрдИ рд╡реИрд▓реНрдпреВ рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдореМрдЬреВрджрд╛ рдЯрд╛рдЗрд▓ рдмрдиреА рд░рд╣рддреА рд╣реИ.
-
url
рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд╣ рдпреВрдЖрд░рдПрд▓ рдЬрд┐рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛.
рддрд░реАрдХреЗ
addEntry()
chrome.readingList.addEntry(
entry: AddEntryOptions,
): Promise<void>
рдЕрдЧрд░ рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рдПрдВрдЯреНрд░реА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ.
рдкреИрд░рд╛рдореАрдЯрд░
-
entry
рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреНрд░реА.
рд░рд┐рдЯрд░реНрди
-
Promise<void>
query()
chrome.readingList.query(
info: QueryInfo,
): Promise<ReadingListEntry[]>
рдпрд╣ рдХреБрдХреА, QueryInfo
рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдПрдВрдЯреНрд░реА рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рддреА рд╣реИ. рдЬрд┐рди рдкреНрд░реЙрдкрд░реНрдЯреА рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИ рдЙрдиреНрд╣реЗрдВ рдореИрдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛.
рдкреИрд░рд╛рдореАрдЯрд░
-
рдЬрд╛рдирдХрд╛рд░реА
рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдкрд░реНрдЯреА.
рд░рд┐рдЯрд░реНрди
-
Promise<ReadingListEntry[]>
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
): Promise<void>
рдЕрдЧрд░ рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдХреЛрдИ рдПрдВрдЯреНрд░реА рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЙрд╕реЗ рд╣рдЯрд╛рддрд╛ рд╣реИ.
рдкреИрд░рд╛рдореАрдЯрд░
-
рдЬрд╛рдирдХрд╛рд░реА
рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреНрд░реА.
рд░рд┐рдЯрд░реНрди
-
Promise<void>
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
): Promise<void>
рдЕрдЧрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╕реВрдЪреА рдореЗрдВ рдХреЛрдИ рдПрдВрдЯреНрд░реА рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЙрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ.
рдкреИрд░рд╛рдореАрдЯрд░
-
рдЬрд╛рдирдХрд╛рд░реА
рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдВрдЯреНрд░реА.
рд░рд┐рдЯрд░реНрди
-
Promise<void>
рдЗрд╡реЗрдВрдЯ
onEntryAdded
chrome.readingList.onEntryAdded.addListener(
callback: function,
)
рдпрд╣ рддрдм рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдХрд┐рд╕реА ReadingListEntry
рдХреЛ рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ.
рдкреИрд░рд╛рдореАрдЯрд░
-
рдХреЙрд▓рдмреИрдХ
рдлрд╝рдВрдХреНрд╢рди
callback
рдкреИрд░рд╛рдореАрдЯрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:(entry: ReadingListEntry) => void
-
entry
-
onEntryRemoved
chrome.readingList.onEntryRemoved.addListener(
callback: function,
)
рдпрд╣ рдЗрд╡реЗрдВрдЯ рддрдм рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рд░реАрдбрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рд╕реЗ рдХрд┐рд╕реА ReadingListEntry
рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ.
рдкреИрд░рд╛рдореАрдЯрд░
-
рдХреЙрд▓рдмреИрдХ
рдлрд╝рдВрдХреНрд╢рди
callback
рдкреИрд░рд╛рдореАрдЯрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:(entry: ReadingListEntry) => void
-
entry
-
onEntryUpdated
chrome.readingList.onEntryUpdated.addListener(
callback: function,
)
рдЬрдм рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡ рдХреА рдЧрдИ рд╕реВрдЪреА рдореЗрдВ рдХреЛрдИ ReadingListEntry
рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рдпрд╣ рдЗрд╡реЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ.
рдкреИрд░рд╛рдореАрдЯрд░
-
рдХреЙрд▓рдмреИрдХ
рдлрд╝рдВрдХреНрд╢рди
callback
рдкреИрд░рд╛рдореАрдЯрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:(entry: ReadingListEntry) => void
-
entry
-