browser.readingList

คำอธิบาย

ใช้ chrome.readingList API เพื่ออ่านและแก้ไขรายการในเรื่องรออ่าน

สิทธิ์

readingList

หากต้องการใช้ Reading List API ให้เพิ่มสิทธิ์ "readingList" ในไฟล์ manifest ของส่วนขยาย ดังนี้

manifest.json:

{
  "name": "My reading list extension",
  ...
  "permissions": [
    "readingList"
  ]
}

ความพร้อมใช้งาน

Chrome 120 ขึ้นไป เบราว์เซอร์* ตั้งแต่ Chrome 148 MV3 ขึ้นไป

Chrome มีฟีเจอร์เรื่องรออ่านที่อยู่ในแผงด้านข้าง ซึ่งช่วยให้ผู้ใช้บันทึกหน้าเว็บไว้อ่านภายหลังหรืออ่านขณะออฟไลน์ได้ ใช้ Reading List API เพื่อดึงข้อมูลรายการที่มีอยู่และเพิ่มหรือนำรายการออกจากรายการ

เรื่องรออ่านที่แสดงบทความจำนวนหนึ่ง
เรื่องรออ่านที่แสดงบทความจำนวนหนึ่ง

แนวคิดและการใช้งาน

การสั่งซื้อสินค้า

รายการใน Reading List ไม่ได้เรียงตามลำดับที่แน่นอน

ความไม่ซ้ำกันของสินค้า

รายการจะได้รับการจัดคีย์ตาม URL ซึ่งรวมถึงแฮชและสตริงการค้นหา

กรณีการใช้งาน

ส่วนต่อไปนี้จะแสดงกรณีการใช้งานทั่วไปสำหรับ Reading List API ดูตัวอย่างส่วนขยายทั้งหมดได้ที่ตัวอย่างส่วนขยาย

เพิ่มรายการ

หากต้องการเพิ่มรายการลงในเรื่องรออ่าน ให้ใช้ browser.readingList.addEntry():

browser.readingList.addEntry({
  title: "New to the web platform in September | web.dev",
  url: "https://developer.chrome.com/",
  hasBeenRead: false
});

แสดงรายการ

หากต้องการแสดงรายการจากเรื่องรออ่าน ให้ใช้เมธอด browser.readingList.query() เพื่อดึงข้อมูลรายการเหล่านั้น

const items = await browser.readingList.query({});

for (const item of items) {
  // Do something do display the item
}

ทำเครื่องหมายรายการว่าอ่านแล้ว

คุณสามารถใช้ browser.readingList.updateEntry() เพื่ออัปเดตชื่อ, URL และสถานะการอ่านได้ โค้ดต่อไปนี้จะทำเครื่องหมายรายการว่าอ่านแล้ว

browser.readingList.updateEntry({
  url: "https://developer.chrome.com/",
  hasBeenRead: true
});

นำรายการออก

หากต้องการนำรายการออก ให้ใช้ browser.readingList.removeEntry() ดังนี้

browser.readingList.removeEntry({
  url: "https://developer.chrome.com/"
});

ตัวอย่างส่วนขยาย

ดูการสาธิตส่วนขยาย Reading List API เพิ่มเติมได้ที่ตัวอย่าง Reading List API

ประเภท

AddEntryOptions

พร็อพเพอร์ตี้

  • hasBeenRead

    บูลีน

    จะเป็น true หากอ่านรายการแล้ว

  • title

    สตริง

    ชื่อของรายการ

  • URL

    สตริง

    URL ของรายการ

QueryInfo

พร็อพเพอร์ตี้

  • hasBeenRead

    บูลีน ไม่บังคับ

    ระบุว่าจะค้นหารายการที่อ่านแล้ว (true) หรือยังไม่อ่าน (false)

  • title

    สตริง ไม่บังคับ

    ชื่อที่จะค้นหา

  • URL

    สตริง ไม่บังคับ

    URL ที่ต้องการค้นหา

ReadingListEntry

พร็อพเพอร์ตี้

  • creationTime

    ตัวเลข

    เวลาที่สร้างรายการ บันทึกเป็นมิลลิวินาทีนับตั้งแต่วันที่ 1 มกราคม 1970

  • hasBeenRead

    บูลีน

    จะเป็น true หากอ่านรายการแล้ว

  • lastUpdateTime

    ตัวเลข

    เวลาที่อัปเดตรายการครั้งล่าสุด ค่านี้มีหน่วยเป็นมิลลิวินาทีตั้งแต่วันที่ 1 มกราคม 1970

  • title

    สตริง

    ชื่อของรายการ

  • URL

    สตริง

    URL ของรายการ

RemoveOptions

พร็อพเพอร์ตี้

  • URL

    สตริง

    URL ที่จะนำออก

UpdateEntryOptions

พร็อพเพอร์ตี้

  • hasBeenRead

    บูลีน ไม่บังคับ

    สถานะการอ่านที่อัปเดต สถานะที่มีอยู่จะยังคงอยู่หากไม่มีการระบุค่า

  • title

    สตริง ไม่บังคับ

    ชื่อใหม่ การ์ดที่มีอยู่จะยังคงอยู่หากไม่มีการระบุค่า

  • URL

    สตริง

    URL ที่จะอัปเดต

เมธอด

addEntry()

browser.readingList.addEntry(
  entry: AddEntryOptions,
)
: Promise<void>

เพิ่มรายการลงในเรื่องรออ่านหากยังไม่มี

พารามิเตอร์

  • รายการที่จะเพิ่มลงในเรื่องรออ่าน

การคืนสินค้า

  • Promise<void>

    แก้ไขเมื่อเพิ่มรายการแล้ว

query()

browser.readingList.query(
  info: QueryInfo,
)
: Promise<ReadingListEntry[]>

ดึงข้อมูลรายการทั้งหมดที่ตรงกับพร็อพเพอร์ตี้ QueryInfo ระบบจะไม่จับคู่ที่พักที่ไม่ได้ระบุ

พารามิเตอร์

  • ข้อมูล

    พร็อพเพอร์ตี้ที่ต้องการค้นหา

การคืนสินค้า

  • Promise<ReadingListEntry[]>

    แก้ไขเมื่อรายการตรงกัน

removeEntry()

browser.readingList.removeEntry(
  info: RemoveOptions,
)
: Promise<void>

นำรายการออกจากเรื่องรออ่าน หากมี

พารามิเตอร์

  • ข้อมูล

    รายการที่จะนำออกจากเรื่องรออ่าน

การคืนสินค้า

  • Promise<void>

    ปัญหาจะได้รับการแก้ไขเมื่อนำรายการออกแล้ว

updateEntry()

browser.readingList.updateEntry(
  info: UpdateEntryOptions,
)
: Promise<void>

อัปเดตรายการเรื่องรออ่านหากมีอยู่

พารามิเตอร์

  • ข้อมูล

    รายการที่จะอัปเดต

การคืนสินค้า

  • Promise<void>

    แก้ไขเมื่ออัปเดตรายการที่ตรงกันแล้ว

กิจกรรม

onEntryAdded

browser.readingList.onEntryAdded.addListener(
  callback: function,
)

ทริกเกอร์เมื่อเพิ่ม ReadingListEntry ลงในเรื่องรออ่าน

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (entry: ReadingListEntry) => void

onEntryRemoved

browser.readingList.onEntryRemoved.addListener(
  callback: function,
)

ทริกเกอร์เมื่อนำ ReadingListEntry ออกจากเรื่องรออ่าน

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (entry: ReadingListEntry) => void

onEntryUpdated

browser.readingList.onEntryUpdated.addListener(
  callback: function,
)

ทริกเกอร์เมื่อมีการอัปเดต ReadingListEntry ในรายการเรื่องรออ่าน

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (entry: ReadingListEntry) => void