chrome.downloads

คำอธิบาย

ใช้ chrome.downloads API เพื่อเริ่มโปรแกรม ตรวจสอบ จัดการ และค้นหาการดาวน์โหลดโดยใช้โปรแกรม

สิทธิ์

downloads

คุณต้องประกาศสิทธิ์ "downloads" ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API นี้

{
  "name": "My extension",
  ...
  "permissions": [
    "downloads"
  ],
}

ตัวอย่าง

คุณสามารถดูตัวอย่างง่ายๆ ของการใช้ chrome.downloads API ได้ใน examples/api/downloads ไดเรกทอรี สำหรับตัวอย่างอื่นๆ และความช่วยเหลือในการดูซอร์สโค้ด โปรดดูตัวอย่าง

ประเภท

BooleanDelta

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

  • current

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

  • ก่อนหน้า

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

DangerType

ไฟล์

ชื่อไฟล์ของการดาวน์โหลดน่าสงสัย

URL

ทราบว่า URL ของการดาวน์โหลดนี้เป็นอันตราย

เนื้อหา

ไฟล์ที่ดาวน์โหลดเป็นอันตราย

พิเศษ

URL ของการดาวน์โหลดไม่ได้มีการดาวน์โหลดกันโดยทั่วไปและอาจเป็นอันตราย

ผู้จัด

การดาวน์โหลดมาจากโฮสต์ที่ทราบว่ากระจายไบนารีที่เป็นอันตรายและมีแนวโน้มว่าจะเป็นอันตราย

ไม่พึงประสงค์

การดาวน์โหลดอาจไม่พึงประสงค์หรือไม่ปลอดภัย เช่น อาจทำให้การตั้งค่าเบราว์เซอร์หรือคอมพิวเตอร์เปลี่ยนแปลง

ปลอดภัย

การดาวน์โหลดนี้ไม่ทราบถึงอันตรายต่อคอมพิวเตอร์ของผู้ใช้

ยอมรับ

ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตรายแล้ว

ค่าแจกแจง

"asyncScanning"

"asyncLocalPasswordScanning"

DoubleDelta

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

  • current

    หมายเลข ไม่บังคับ

  • ก่อนหน้า

    หมายเลข ไม่บังคับ

DownloadDelta

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

  • canResume

    BooleanDelta ไม่บังคับ

    การเปลี่ยนแปลงใน canResume หากมี

  • อันตราย

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน danger หากมี

  • endTime

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน endTime หากมี

  • ข้อผิดพลาด

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน error หากมี

  • มีอยู่

    BooleanDelta ไม่บังคับ

    การเปลี่ยนแปลงใน exists หากมี

  • fileSize

    DoubleDelta ไม่บังคับ

    การเปลี่ยนแปลงใน fileSize หากมี

  • ชื่อไฟล์

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน filename หากมี

  • finalUrl

    StringDelta ไม่บังคับ

    Chrome 54 ขึ้นไป

    การเปลี่ยนแปลงใน finalUrl หากมี

  • id

    ตัวเลข

    id ของ DownloadItem ที่เปลี่ยนแปลง

  • mime

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน mime หากมี

  • หยุดชั่วคราว

    BooleanDelta ไม่บังคับ

    การเปลี่ยนแปลงใน paused หากมี

  • startTime

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน startTime หากมี

  • รัฐ

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน state หากมี

  • totalBytes

    DoubleDelta ไม่บังคับ

    การเปลี่ยนแปลงใน totalBytes หากมี

  • URL

    StringDelta ไม่บังคับ

    การเปลี่ยนแปลงใน url หากมี

DownloadItem

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

  • byExtensionId

    string ไม่บังคับ

    ตัวระบุของส่วนขยายที่เริ่มต้นการดาวน์โหลดนี้ หากการดาวน์โหลดนี้เริ่มต้นโดยส่วนขยาย ไม่เปลี่ยนแปลงหลังจากตั้งค่าแล้ว

  • byExtensionName

    string ไม่บังคับ

    ชื่อที่แปลแล้วของส่วนขยายที่เริ่มการดาวน์โหลดนี้ หากการดาวน์โหลดนี้เริ่มต้นขึ้นโดยส่วนขยาย อาจมีการเปลี่ยนแปลงหากส่วนขยายเปลี่ยนชื่อหรือผู้ใช้เปลี่ยนภาษา

  • bytesReceived

    ตัวเลข

    จำนวนไบต์ที่ได้รับจากโฮสต์โดยไม่พิจารณาการบีบอัดไฟล์

  • canResume

    boolean

    เป็นจริงหากการดาวน์โหลดอยู่ระหว่างดำเนินการและหยุดชั่วคราว หรือในกรณีที่การดาวน์โหลดหยุดชะงักและสามารถดำเนินการต่อได้ตั้งแต่ต้นจนจบ

  • อันตราย

    ตัวบ่งชี้ว่าการดาวน์โหลดนี้คิดว่าปลอดภัยหรือน่าสงสัย

  • endTime

    string ไม่บังคับ

    เวลาที่การดาวน์โหลดสิ้นสุดในรูปแบบ ISO 8601 อาจส่งผ่านไปยังตัวสร้างวันที่โดยตรง: chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.endTime) console.log(new Date(item.endTime))})})

  • ข้อผิดพลาด

    InterruptReason ไม่บังคับ

    สาเหตุที่การดาวน์โหลดถูกขัดจังหวะ ข้อผิดพลาด HTTP หลายประเภทอาจจัดอยู่ในกลุ่มข้อผิดพลาดรายการใดรายการหนึ่งที่ขึ้นต้นด้วย SERVER_ ข้อผิดพลาดที่เกี่ยวข้องกับเครือข่ายจะเริ่มต้นด้วย NETWORK_ ข้อผิดพลาดเกี่ยวกับกระบวนการเขียนไฟล์ไปยังระบบไฟล์จะขึ้นต้นด้วย FILE_ และการขัดจังหวะที่ผู้ใช้เริ่มต้นด้วย USER_

  • estimatedEndTime

    string ไม่บังคับ

    เวลาโดยประมาณเมื่อการดาวน์โหลดเสร็จสมบูรณ์ในรูปแบบ ISO 8601 อาจส่งผ่านไปยังตัวสร้างวันที่โดยตรง: chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.estimatedEndTime) console.log(new Date(item.estimatedEndTime))})})

  • มีอยู่

    boolean

    ไฟล์ที่ดาวน์โหลดยังอยู่ไหม ข้อมูลนี้อาจไม่ใช่ข้อมูลล่าสุดเนื่องจาก Chrome จะไม่คอยเฝ้าระวังการนำไฟล์ออกโดยอัตโนมัติ เรียกใช้ search() เพื่อทริกเกอร์การตรวจสอบการมีอยู่ของไฟล์ เมื่อการตรวจสอบการมีอยู่เสร็จสมบูรณ์ หากไฟล์ถูกลบไปแล้ว เหตุการณ์ onChanged จะเริ่มทํางาน โปรดทราบว่า search() ไม่รอให้การตรวจสอบการมีอยู่เสร็จสิ้นก่อนที่จะแสดงผล ดังนั้นผลลัพธ์จาก search() อาจไม่แสดงระบบไฟล์อย่างถูกต้อง นอกจากนี้ ระบบอาจเรียก search() บ่อยเท่าที่จำเป็น แต่จะไม่ตรวจสอบการมีอยู่ของไฟล์บ่อยกว่า 1 ครั้งในทุกๆ 10 วินาที

  • fileSize

    ตัวเลข

    จำนวนไบต์ในทั้งไฟล์หลังการขยายไฟล์ หรือ -1 หากไม่ทราบ

  • ชื่อไฟล์

    สตริง

    เส้นทางภายในแบบสัมบูรณ์

  • finalUrl

    สตริง

    Chrome 54 ขึ้นไป

    URL ที่สมบูรณ์ที่เป็นต้นทางของการดาวน์โหลดนี้ หลังจากมีการเปลี่ยนเส้นทางทั้งหมด

  • id

    ตัวเลข

    ตัวระบุที่จะคงอยู่ตลอดเซสชันของเบราว์เซอร์

  • ไม่ระบุตัวตน

    boolean

    เท็จ หากระบบไม่ได้บันทึกการดาวน์โหลดนี้ในประวัติ จะเป็นจริงหากไม่ได้บันทึก

  • mime

    สตริง

    ประเภท MIME ของไฟล์

  • หยุดชั่วคราว

    boolean

    เป็นจริงหากการดาวน์โหลดหยุดอ่านข้อมูลจากโฮสต์ แต่เปิดการเชื่อมต่อไว้

  • URL ที่มา

    สตริง

    URL ที่สมบูรณ์

  • startTime

    สตริง

    เวลาที่การดาวน์โหลดเริ่มต้นขึ้นในรูปแบบ ISO 8601 อาจส่งผ่านไปยังตัวสร้างวันที่โดยตรง: chrome.downloads.search({}, function(items){items.forEach(function(item){console.log(new Date(item.startTime))})})

  • รัฐ

    ระบุว่าการดาวน์โหลดกำลังดำเนินอยู่ หยุดชะงัก หรือเสร็จสมบูรณ์แล้ว

  • totalBytes

    ตัวเลข

    จำนวนไบต์ของทั้งไฟล์ โดยไม่พิจารณาการบีบอัดไฟล์ หรือ -1 หากไม่ทราบ

  • URL

    สตริง

    URL ที่สมบูรณ์ที่เป็นต้นทางของการดาวน์โหลดนี้ ก่อนที่จะมีการเปลี่ยนเส้นทาง

DownloadOptions

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

  • เนื้อความ

    string ไม่บังคับ

    เนื้อหาของโพสต์

  • conflictAction

    FilenameConflictAction ไม่บังคับ

    การดำเนินการที่ต้องทำหากมี filename อยู่แล้ว

  • ชื่อไฟล์

    string ไม่บังคับ

    เส้นทางไฟล์ที่สัมพันธ์กับไดเรกทอรีดาวน์โหลดเพื่อเก็บไฟล์ที่ดาวน์โหลด ซึ่งอาจมีไดเรกทอรีย่อย เส้นทางสัมบูรณ์ เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงกลับ ".." จะทำให้เกิดข้อผิดพลาด onDeterminingFilename อนุญาตให้แนะนำชื่อไฟล์หลังจากประเภท MIME ของไฟล์ และได้กำหนดชื่อไฟล์เบื้องต้นแล้ว

  • ส่วนหัว

    HeaderNameValuePair[] ไม่บังคับ

    ส่วนหัว HTTP เพิ่มเติมที่จะส่งไปพร้อมกับคำขอ หาก URL ใช้โปรโตคอล HTTP[s] ส่วนหัวแต่ละรายการจะแสดงเป็นพจนานุกรมที่มีคีย์ name และ value หรือ binaryValue ซึ่งจำกัดไว้เฉพาะคีย์ที่ XMLHttpRequest อนุญาตเท่านั้น

  • method

    HttpMethod ไม่บังคับ

    เมธอด HTTP ที่จะใช้ในกรณีที่ URL ใช้โปรโตคอล HTTP[S]

  • saveAs

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

    ใช้ตัวเลือกไฟล์เพื่ออนุญาตให้ผู้ใช้เลือกชื่อไฟล์ ไม่ว่า filename จะมีการตั้งค่าหรือมีอยู่แล้วหรือไม่ก็ตาม

  • URL

    สตริง

    URL ที่จะดาวน์โหลด

DownloadQuery

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

  • bytesReceived

    หมายเลข ไม่บังคับ

    จำนวนไบต์ที่ได้รับจากโฮสต์โดยไม่พิจารณาการบีบอัดไฟล์

  • อันตราย

    DangerType ไม่บังคับ

    ตัวบ่งชี้ว่าการดาวน์โหลดนี้คิดว่าปลอดภัยหรือน่าสงสัย

  • endTime

    string ไม่บังคับ

    เวลาที่การดาวน์โหลดสิ้นสุดในรูปแบบ ISO 8601

  • endedAfter

    string ไม่บังคับ

    จำกัดผลลัพธ์เฉพาะ DownloadItem ที่สิ้นสุดหลังจาก ms ที่ระบุในรูปแบบ ISO 8601

  • endedBefore

    string ไม่บังคับ

    จำกัดผลลัพธ์เฉพาะ DownloadItem ที่สิ้นสุดก่อน ms ที่ระบุในรูปแบบ ISO 8601

  • ข้อผิดพลาด

    InterruptReason ไม่บังคับ

    สาเหตุที่การดาวน์โหลดถูกขัดจังหวะ

  • มีอยู่

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

    มีไฟล์ที่ดาวน์โหลดอยู่หรือไม่

  • fileSize

    หมายเลข ไม่บังคับ

    จำนวนไบต์ในทั้งไฟล์หลังการขยายไฟล์ หรือ -1 หากไม่ทราบ

  • ชื่อไฟล์

    string ไม่บังคับ

    เส้นทางภายในแบบสัมบูรณ์

  • filenameRegex

    string ไม่บังคับ

    จำกัดผลลัพธ์เป็น DownloadItem ซึ่งมี filename ตรงกับนิพจน์ทั่วไปที่ระบุ

  • finalUrl

    string ไม่บังคับ

    Chrome 54 ขึ้นไป

    URL ที่สมบูรณ์ที่เป็นต้นทางของการดาวน์โหลดนี้ หลังจากมีการเปลี่ยนเส้นทางทั้งหมด

  • finalUrlRegex

    string ไม่บังคับ

    Chrome 54 ขึ้นไป

    จำกัดผลลัพธ์เป็น DownloadItem ซึ่งมี finalUrl ตรงกับนิพจน์ทั่วไปที่ระบุ

  • id

    หมายเลข ไม่บังคับ

    id ของ DownloadItem เพื่อค้นหา

  • ขีดจำกัด

    หมายเลข ไม่บังคับ

    แสดงผล DownloadItem ที่ตรงกันเป็นจำนวนครั้งสูงสุดแล้ว ค่าเริ่มต้นคือ 1,000 หากตั้งค่าเป็น 0 เพื่อแสดงผล DownloadItem ที่ตรงกันทั้งหมด ดูวิธีเลื่อนดูผลการค้นหาได้ใน search

  • mime

    string ไม่บังคับ

    ประเภท MIME ของไฟล์

  • orderBy

    string[] ไม่บังคับ

    ตั้งค่าองค์ประกอบของอาร์เรย์นี้เป็นพร็อพเพอร์ตี้ DownloadItem เพื่อจัดเรียงผลการค้นหา เช่น การตั้งค่า orderBy=['startTime'] จะจัดเรียง DownloadItem ตามเวลาเริ่มต้นในลำดับจากน้อยไปมาก หากต้องการระบุลำดับจากมากไปน้อย ให้ใส่เครื่องหมายขีดกลางไว้ด้านหน้า "-startTime"

  • หยุดชั่วคราว

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

    เป็นจริงหากการดาวน์โหลดหยุดอ่านข้อมูลจากโฮสต์ แต่เปิดการเชื่อมต่อไว้

  • query

    string[] ไม่บังคับ

    อาร์เรย์ของข้อความค้นหานี้จำกัดผลลัพธ์ไว้ที่ DownloadItem ซึ่ง filename หรือ url หรือ finalUrl มีข้อความค้นหาทั้งหมดที่ไม่ได้ขึ้นต้นด้วยขีดกลาง "-" และไม่มีข้อความค้นหาที่เริ่มต้นด้วยขีดกลาง

  • startTime

    string ไม่บังคับ

    เวลาที่การดาวน์โหลดเริ่มต้นขึ้นในรูปแบบ ISO 8601

  • startedAfter

    string ไม่บังคับ

    จำกัดผลลัพธ์เป็น DownloadItem ที่เริ่มต้นหลังจาก ms ที่ระบุในรูปแบบ ISO 8601

  • startedBefore

    string ไม่บังคับ

    จำกัดผลลัพธ์ไว้ที่ DownloadItem ที่เริ่มต้นก่อน ms ที่ระบุในรูปแบบ ISO 8601

  • รัฐ

    รัฐ ไม่บังคับ

    ระบุว่าการดาวน์โหลดกำลังดำเนินอยู่ หยุดชะงัก หรือเสร็จสมบูรณ์แล้ว

  • totalBytes

    หมายเลข ไม่บังคับ

    จำนวนไบต์ของทั้งไฟล์ โดยไม่พิจารณาการบีบอัดไฟล์ หรือ -1 หากไม่ทราบ

  • totalBytesGreater

    หมายเลข ไม่บังคับ

    จำกัดผลลัพธ์เป็น DownloadItem ที่ totalBytes มากกว่าจำนวนเต็มที่ระบุ

  • totalBytesLess

    หมายเลข ไม่บังคับ

    จำกัดผลลัพธ์เป็น DownloadItem ที่ totalBytes น้อยกว่าจำนวนเต็มที่ระบุ

  • URL

    string ไม่บังคับ

    URL ที่สมบูรณ์ที่เป็นต้นทางของการดาวน์โหลดนี้ ก่อนที่จะมีการเปลี่ยนเส้นทาง

  • urlRegex

    string ไม่บังคับ

    จำกัดผลลัพธ์เป็น DownloadItem ซึ่งมี url ตรงกับนิพจน์ทั่วไปที่ระบุ

FilenameConflictAction

เท่ากัน

ระบบได้เปลี่ยน filename ให้รวมตัวนับหน้าส่วนขยายชื่อไฟล์เพื่อหลีกเลี่ยงการทำซ้ำ

เขียนทับ

ระบบจะเขียนทับไฟล์ที่มีอยู่ด้วยไฟล์ใหม่

ข้อความแจ้ง

ผู้ใช้จะได้รับข้อความแจ้งพร้อมกล่องโต้ตอบตัวเลือกไฟล์

ค่าแจกแจง

FilenameSuggestion

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

    การดำเนินการที่ต้องทำหากมี filename อยู่แล้ว

  • ชื่อไฟล์

    สตริง

    เป้าหมายใหม่ DownloadItem.filename ของ DownloadItem เป็นเส้นทางที่สัมพันธ์กับไดเรกทอรีการดาวน์โหลดเริ่มต้นของผู้ใช้ ซึ่งอาจมีไดเรกทอรีย่อย เส้นทางสัมบูรณ์ เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงกลับ ".." จะถูกละเว้น ระบบจะละเว้น filename หากมี Listener ของ onDeterminingFilename ที่ลงทะเบียนโดยส่วนขยายใดๆ

GetFileIconOptions

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

  • ขนาด

    หมายเลข ไม่บังคับ

    ขนาดของไอคอนที่แสดงผล ไอคอนจะเป็นสี่เหลี่ยมจัตุรัสที่มีขนาดขนาด * พิกเซลขนาด ขนาดเริ่มต้นและใหญ่ที่สุดสำหรับไอคอนคือ 32x32 พิกเซล ขนาดที่รองรับมีเพียง 16 และ 32 เท่านั้น การระบุขนาดอื่นเป็นข้อผิดพลาด

HeaderNameValuePair

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

  • ชื่อ

    สตริง

    ชื่อของส่วนหัว HTTP

  • value

    สตริง

    ค่าของส่วนหัว HTTP

HttpMethod

ค่าแจกแจง

InterruptReason

ค่าแจกแจง

State

in_progress

ขณะนี้การดาวน์โหลดรับข้อมูลจากเซิร์ฟเวอร์

ถูกขัดจังหวะ

เกิดข้อผิดพลาดทำให้การเชื่อมต่อกับโฮสต์ไฟล์เสียหาย

เสร็จสมบูรณ์

การดาวน์โหลดเสร็จสมบูรณ์แล้ว

ค่าแจกแจง

StringDelta

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

  • current

    string ไม่บังคับ

  • ก่อนหน้า

    string ไม่บังคับ

UiOptions

Chrome 105 ขึ้นไป

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

  • เปิดใช้อยู่

    boolean

    เปิดหรือปิดใช้ UI การดาวน์โหลด

เมธอด

acceptDanger()

สัญญา
chrome.downloads.acceptDanger(
  downloadId: number,
  callback?: function,
)

แจ้งให้ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตราย สามารถเรียกได้จากบริบทที่มองเห็นได้เท่านั้น (แท็บ หน้าต่าง หรือป๊อปอัปการดำเนินการของหน้าเว็บ/เบราว์เซอร์) ไม่ยอมรับการดาวน์โหลดที่เป็นอันตรายโดยอัตโนมัติ หากระบบยอมรับการดาวน์โหลด เหตุการณ์ onChanged จะเริ่มทำงาน มิเช่นนั้นจะไม่มีอะไรเกิดขึ้น เมื่อมีการดึงข้อมูลทั้งหมดไปยังไฟล์ชั่วคราวและการดาวน์โหลดไม่เป็นอันตรายหรือยอมรับอันตรายแล้ว ระบบจะเปลี่ยนชื่อไฟล์ชั่วคราวเป็นชื่อไฟล์เป้าหมาย, state เปลี่ยนเป็น "เสร็จสมบูรณ์" และ onChanged จะเริ่มทำงาน

พารามิเตอร์

  • downloadId

    ตัวเลข

    ตัวระบุสำหรับ DownloadItem

  • Callback

    ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

cancel()

สัญญา
chrome.downloads.cancel(
  downloadId: number,
  callback?: function,
)

ยกเลิกการดาวน์โหลด เมื่อ callback ทำงาน การดาวน์โหลดจะถูกยกเลิก เสร็จสมบูรณ์ ถูกขัดจังหวะ หรือไม่มีอยู่ในอีกต่อไป

พารามิเตอร์

  • downloadId

    ตัวเลข

    รหัสของการดาวน์โหลดที่จะยกเลิก

  • Callback

    ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

download()

สัญญา
chrome.downloads.download(
  options: DownloadOptions,
  callback?: function,
)

ดาวน์โหลด URL หาก URL ใช้โปรโตคอล HTTP[S] คำขอจะรวมคุกกี้ทั้งหมดที่ปัจจุบันตั้งค่าไว้สำหรับชื่อโฮสต์ด้วย หากระบุทั้ง filename และ saveAs กล่องโต้ตอบ "บันทึกเป็น" จะปรากฏขึ้น โดยมี filename ที่ระบุระบุไว้ล่วงหน้า หากการดาวน์โหลดเริ่มต้นสำเร็จ ระบบจะเรียกใช้ callback ด้วย downloadId ของ DownloadItem ใหม่ หากมีข้อผิดพลาดขณะเริ่มการดาวน์โหลด ระบบจะเรียก callback ด้วย downloadId=undefined และ runtime.lastError จะมีสตริงรายละเอียด เราไม่รับประกันว่าสตริงข้อผิดพลาดจะยังคงใช้งานร่วมกันได้แบบย้อนหลังระหว่างรุ่น ส่วนขยายต้องไม่แยกวิเคราะห์ส่วนขยาย

พารามิเตอร์

  • ตัวเลือก

    สิ่งที่ดาวน์โหลดและวิธีการ

  • Callback

    ไม่บังคับ

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

    (downloadId: number) => void

    • downloadId

      ตัวเลข

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

  • Promise<number>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

erase()

สัญญา
chrome.downloads.erase(
  query: DownloadQuery,
  callback?: function,
)

ลบ DownloadItem ที่ตรงกันออกจากประวัติโดยไม่ลบไฟล์ที่ดาวน์โหลด เหตุการณ์ onErased จะเริ่มทำงานสำหรับแต่ละ DownloadItem ที่ตรงกับ query จากนั้นระบบจะเรียกใช้ callback

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (erasedIds: number[]) => void

    • erasedIds

      ตัวเลข[]

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

  • Promise<number[]>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

getFileIcon()

สัญญา
chrome.downloads.getFileIcon(
  downloadId: number,
  options?: GetFileIconOptions,
  callback?: function,
)

เรียกดูไอคอนสำหรับการดาวน์โหลดที่ระบุ สำหรับการดาวน์โหลดใหม่ ไอคอนไฟล์จะพร้อมใช้งานหลังจากได้รับเหตุการณ์ onCreated แล้ว รูปภาพที่ฟังก์ชันนี้แสดงผลขณะที่ดาวน์โหลดอยู่อาจแตกต่างจากรูปภาพที่แสดงหลังการดาวน์โหลดเสร็จสมบูรณ์ การดึงข้อมูลไอคอนทำได้โดยค้นหาระบบปฏิบัติการหรือชุดเครื่องมือที่เกี่ยวข้องโดยขึ้นอยู่กับแพลตฟอร์ม ดังนั้น ไอคอนที่แสดงผลจะขึ้นอยู่กับปัจจัยหลายอย่าง เช่น สถานะของการดาวน์โหลด แพลตฟอร์ม ประเภทไฟล์ที่ลงทะเบียน และธีมของภาพ หากระบุไอคอนไฟล์ไม่ได้ runtime.lastError จะมีข้อความแสดงข้อผิดพลาด

พารามิเตอร์

  • downloadId

    ตัวเลข

    ตัวระบุสำหรับการดาวน์โหลด

  • ตัวเลือก

    GetFileIconOptions ไม่บังคับ

  • Callback

    ไม่บังคับ

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

    (iconURL?: string) => void

    • iconURL

      string ไม่บังคับ

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

  • Promise<string | ไม่ระบุ>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

open()

สัญญา
chrome.downloads.open(
  downloadId: number,
  callback?: function,
)

เปิดไฟล์ที่ดาวน์โหลดหากไฟล์ DownloadItem เสร็จสมบูรณ์ ไม่เช่นนั้น จะแสดงผลข้อผิดพลาดผ่าน runtime.lastError วิธีนี้ต้องใช้สิทธิ์ "downloads.open" นอกเหนือจากสิทธิ์ "downloads" เหตุการณ์ onChanged จะเริ่มทำงานเมื่อเปิดรายการเป็นครั้งแรก เรียกวิธีนี้ได้ตามท่าทางสัมผัสของผู้ใช้เท่านั้น

พารามิเตอร์

  • downloadId

    ตัวเลข

    ตัวระบุของไฟล์ที่ดาวน์โหลด

  • Callback

    ไม่บังคับ

    Chrome 123 ขึ้นไป

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

    () => void

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

  • Promise<void>

    Chrome 123 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

pause()

สัญญา
chrome.downloads.pause(
  downloadId: number,
  callback?: function,
)

หยุดการดาวน์โหลดชั่วคราว หากคำขอสำเร็จ การดาวน์โหลดจะอยู่ในสถานะหยุดชั่วคราว มิฉะนั้น runtime.lastError จะมีข้อความแสดงข้อผิดพลาด คำขอจะล้มเหลวหากการดาวน์โหลดไม่ทำงาน

พารามิเตอร์

  • downloadId

    ตัวเลข

    รหัสของการดาวน์โหลดที่จะหยุดชั่วคราว

  • Callback

    ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

removeFile()

สัญญา
chrome.downloads.removeFile(
  downloadId: number,
  callback?: function,
)

นำไฟล์ที่ดาวน์โหลดออก หากมีอยู่และ DownloadItem เสร็จสมบูรณ์แล้ว ไม่เช่นนั้น ให้แสดงข้อผิดพลาดผ่านทาง runtime.lastError

พารามิเตอร์

  • downloadId

    ตัวเลข

  • Callback

    ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

resume()

สัญญา
chrome.downloads.resume(
  downloadId: number,
  callback?: function,
)

ดาวน์โหลดที่หยุดชั่วคราวต่อ หากคำขอเสร็จสมบูรณ์ แสดงว่าอยู่ระหว่างการดาวน์โหลดและยกเลิกการหยุดชั่วคราว มิฉะนั้น runtime.lastError จะมีข้อความแสดงข้อผิดพลาด คำขอจะล้มเหลวหากการดาวน์โหลดไม่ทำงาน

พารามิเตอร์

  • downloadId

    ตัวเลข

    รหัสของการดาวน์โหลดเพื่อดำเนินการต่อ

  • Callback

    ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

สัญญา
chrome.downloads.search(
  query: DownloadQuery,
  callback?: function,
)

ค้นหา DownloadItem ตั้งค่า query เป็นออบเจ็กต์ว่างเปล่าเพื่อรับ DownloadItem ทั้งหมด หากต้องการรับ DownloadItem ที่ต้องการ ให้ตั้งค่าเฉพาะช่อง id หากต้องการเลื่อนดูรายการต่างๆ จำนวนมาก ให้ตั้งค่า orderBy: ['-startTime'], ตั้งค่า limit เป็นจำนวนรายการต่อหน้า และตั้งค่า startedAfter เป็น startTime ของรายการสุดท้ายจากหน้าสุดท้าย

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (results: DownloadItem[]) => void

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

  • Promise<DownloadItem[]>

    Chrome 96 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

setShelfEnabled()

เลิกใช้งานตั้งแต่ Chrome 117
chrome.downloads.setShelfEnabled(
  enabled: boolean,
)

โปรดใช้ setUiOptions แทน

เปิดหรือปิดใช้งานชั้นวางสีเทาที่ด้านล่างของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ระบบจะปิดใช้ชั้นวางตราบใดที่ส่วนขยายอย่างน้อย 1 รายการปิดใช้ การเปิดใช้ชั้นวางในขณะที่ส่วนขยายอื่นอีกอย่างน้อย 1 รายการปิดใช้จะทำให้ระบบแสดงข้อผิดพลาดผ่าน runtime.lastError ต้องมีสิทธิ์ "downloads.shelf" นอกเหนือจากสิทธิ์ "downloads"

พารามิเตอร์

  • เปิดใช้อยู่

    boolean

setUiOptions()

สัญญา Chrome 105 ขึ้นไป
chrome.downloads.setUiOptions(
  options: UiOptions,
  callback?: function,
)

เปลี่ยน UI การดาวน์โหลดของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ตราบใดที่ส่วนขยายอย่างน้อย 1 รายการตั้งค่า UiOptions.enabled เป็น "เท็จ" ระบบจะซ่อน UI การดาวน์โหลด การตั้งค่า UiOptions.enabled เป็น "จริง" ขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้จะแสดงข้อผิดพลาดผ่าน runtime.lastError ต้องมีสิทธิ์ "downloads.ui" นอกเหนือจากสิทธิ์ "downloads"

พารามิเตอร์

  • ตัวเลือก

    สรุปการเปลี่ยนแปลง UI การดาวน์โหลด

  • Callback

    ไม่บังคับ

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

    () => void

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

  • Promise<void>

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

show()

chrome.downloads.show(
  downloadId: number,
)

แสดงไฟล์ที่ดาวน์โหลดในโฟลเดอร์ในตัวจัดการไฟล์

พารามิเตอร์

  • downloadId

    ตัวเลข

    ตัวระบุของไฟล์ที่ดาวน์โหลด

showDefaultFolder()

chrome.downloads.showDefaultFolder()

แสดงโฟลเดอร์ "ดาวน์โหลด" เริ่มต้นในตัวจัดการไฟล์

กิจกรรม

onChanged

chrome.downloads.onChanged.addListener(
  callback: function,
)

เมื่อพร็อพเพอร์ตี้ใดๆ ของ DownloadItem ยกเว้น bytesReceived และ estimatedEndTime มีการเปลี่ยนแปลง เหตุการณ์นี้จะเริ่มทำงานด้วย downloadId และออบเจ็กต์ที่มีพร็อพเพอร์ตี้ที่เปลี่ยนแปลง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (downloadDelta: DownloadDelta) => void

onCreated

chrome.downloads.onCreated.addListener(
  callback: function,
)

เหตุการณ์นี้จะเริ่มทำงานด้วยออบเจ็กต์ DownloadItem เมื่อการดาวน์โหลดเริ่มต้นขึ้น

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (downloadItem: DownloadItem) => void

onDeterminingFilename

chrome.downloads.onDeterminingFilename.addListener(
  callback: function,
)

ในระหว่างขั้นตอนการกำหนดชื่อไฟล์ ส่วนขยายจะได้รับโอกาสลบล้างเป้าหมาย DownloadItem.filename ส่วนขยายแต่ละรายการไม่สามารถลงทะเบียน Listener มากกว่า 1 รายสำหรับกิจกรรมนี้ ผู้ฟังแต่ละคนต้องเรียก suggest เพียงครั้งเดียว ไม่ว่าจะแบบซิงโครนัสหรือแบบไม่พร้อมกัน หากผู้ฟังเรียก suggest แบบไม่พร้อมกัน ผู้ฟังจะต้องแสดงผล true หากผู้ฟังไม่เรียก suggest แบบพร้อมกันหรือส่งกลับ true ระบบจะเรียก suggest โดยอัตโนมัติ DownloadItem จะไม่สมบูรณ์จนกว่าผู้ฟังทั้งหมดจะโทรหา suggest Listener อาจเรียก suggest โดยไม่มีอาร์กิวเมนต์ใดๆ เพื่ออนุญาตให้การดาวน์โหลดใช้ downloadItem.filename สำหรับชื่อไฟล์ หรือส่งออบเจ็กต์ suggestion ไปยัง suggest เพื่อลบล้างชื่อไฟล์เป้าหมาย หากมีส่วนขยายมากกว่า 1 รายการลบล้างชื่อไฟล์ ส่วนขยายล่าสุดที่ติดตั้งซึ่ง Listener ส่งออบเจ็กต์ suggestion ไปยัง suggest จะเป็นผู้ชนะ เพื่อหลีกเลี่ยงความสับสนว่าส่วนขยายใดจะชนะ ผู้ใช้ไม่ควรติดตั้งส่วนขยายที่อาจมีความขัดแย้ง หาก download เริ่มต้นการดาวน์โหลดและรู้จักชื่อไฟล์เป้าหมายก่อนที่จะกำหนดประเภท MIME และชื่อไฟล์เบื้องต้น ให้ส่งค่า filename ไปยัง download แทน

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (downloadItem: DownloadItem, suggest: function) => void

    • downloadItem
    • แนะนำ

      ฟังก์ชัน

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

      (suggestion?: FilenameSuggestion) => void

onErased

chrome.downloads.onErased.addListener(
  callback: function,
)

เริ่มทำงานด้วย downloadId เมื่อลบการดาวน์โหลดออกจากประวัติ

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (downloadId: number) => void

    • downloadId

      ตัวเลข