chrome.downloads

refresh date: 2026-09-25 robots: noindex

สิทธิ์นี้ทริกเกอร์คำเตือน

คำอธิบาย

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

สิทธิ์

downloads

ไฟล์ Manifest

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

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

ตัวอย่าง

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

ประเภท

BooleanDelta

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

  • current

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

  • ก่อนหน้า

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

DangerType

ค่าแจกแจง

"file"
ชื่อไฟล์ที่ดาวน์โหลดน่าสงสัย

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

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

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

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

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

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

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

"allowlistedByPolicy"
ค่าที่เกี่ยวข้องกับองค์กร

"asyncScanning"

"asyncLocalPasswordScanning"

"passwordProtected"

"blockedTooLarge"

"sensitiveContentWarning"

"sensitiveContentBlock"

"deepScannedFailed"

"deepScannedSafe"

"deepScannedOpenedDangerous"

"promptForScanning"

"promptForLocalPasswordScanning"

"accountCompromise"

"blockedScanFailed"

"forceSaveToGdrive"
ใช้สำหรับส่วนขยาย Secure Enterprise Browser เมื่อจำเป็น Chrome จะบล็อกการดาวน์โหลดลงในดิสก์และดาวน์โหลดไฟล์ลงใน Google ไดรฟ์โดยตรง

"forceSaveToOnedrive"
สำหรับใช้โดยส่วนขยาย Secure Enterprise Browser เมื่อจำเป็น Chrome จะบล็อกการดาวน์โหลดลงดิสก์และดาวน์โหลดไฟล์ไปยัง OneDrive โดยตรง

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

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

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

  • byExtensionName

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

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

  • bytesReceived

    ตัวเลข

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

  • canResume

    บูลีน

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

  • อันตราย

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

  • endTime

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

    เวลาที่การดาวน์โหลดสิ้นสุดในรูปแบบ 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

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

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

  • มีอยู่

    บูลีน

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

  • fileSize

    ตัวเลข

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

  • ชื่อไฟล์

    สตริง

    เส้นทางแบบสัมบูรณ์ในเครื่อง

  • finalUrl

    สตริง

    Chrome 54 ขึ้นไป

    Absolute URL ที่ใช้ในการดาวน์โหลดนี้หลังจากมีการเปลี่ยนเส้นทางทั้งหมด

  • id

    ตัวเลข

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

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

    บูลีน

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

  • mime

    สตริง

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

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

    บูลีน

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

  • URL ที่มา

    สตริง

    Absolute URL

  • startTime

    สตริง

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

  • รัฐ

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

  • totalBytes

    ตัวเลข

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

  • URL

    สตริง

    Absolute URL ที่การดาวน์โหลดนี้เริ่มต้นจาก ก่อนที่จะมีการเปลี่ยนเส้นทาง

DownloadOptions

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

  • เนื้อความ

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

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

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

  • ชื่อไฟล์

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

    เส้นทางไฟล์ที่สัมพันธ์กับไดเรกทอรีดาวน์โหลดซึ่งมีไฟล์ที่ดาวน์โหลดมา โดยอาจมีไดเรกทอรีย่อย เส้นทางแบบสัมบูรณ์ เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงย้อนกลับ ".." จะทำให้เกิดข้อผิดพลาด 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

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

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

  • endedAfter

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

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

  • endedBefore

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

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

  • ข้อผิดพลาด

    InterruptReason ไม่บังคับ

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

  • มีอยู่

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

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

  • fileSize

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

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

  • ชื่อไฟล์

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

    เส้นทางแบบสัมบูรณ์ในเครื่อง

  • filenameRegex

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

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

  • finalUrl

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

    Chrome 54 ขึ้นไป

    Absolute URL ที่ใช้ในการดาวน์โหลดนี้หลังจากมีการเปลี่ยนเส้นทางทั้งหมด

  • finalUrlRegex

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

    Chrome 54 ขึ้นไป

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

  • id

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

    id ของ DownloadItem ที่จะค้นหา

  • ขีดจำกัด

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

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

  • mime

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

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

  • orderBy

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

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

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

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

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

  • query

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

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

  • startTime

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

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

  • startedAfter

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

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

  • startedBefore

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

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

  • รัฐ

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

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

  • totalBytes

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

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

  • totalBytesGreater

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

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

  • totalBytesLess

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

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

  • URL

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

    Absolute URL ที่การดาวน์โหลดนี้เริ่มต้นจาก ก่อนที่จะมีการเปลี่ยนเส้นทาง

  • urlRegex

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

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

FilenameConflictAction

ทำให้ไม่ซ้ำกัน

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

เขียนทับ

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

พรอมต์

ระบบจะแจ้งให้ผู้ใช้เลือกไฟล์ผ่านกล่องโต้ตอบตัวเลือกไฟล์

ค่าแจกแจง

"uniquify"

"เขียนทับ"

"พรอมต์"

FilenameSuggestion

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

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

  • ชื่อไฟล์

    สตริง

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

GetFileIconOptions

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

  • ขนาด

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

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

HeaderNameValuePair

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

  • name

    สตริง

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

  • value

    สตริง

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

HttpMethod

ค่าแจกแจง

"GET"

"POST"

InterruptReason

ค่าแจกแจง

"FILE_FAILED"

"FILE_ACCESS_DENIED"

"FILE_NO_SPACE"

"FILE_NAME_TOO_LONG"

"FILE_TOO_LARGE"

"FILE_VIRUS_INFECTED"

"FILE_TRANSIENT_ERROR"

"FILE_BLOCKED"

"FILE_SECURITY_CHECK_FAILED"

"FILE_TOO_SHORT"

"FILE_HASH_MISMATCH"

"FILE_SAME_AS_SOURCE"

"NETWORK_FAILED"

"NETWORK_TIMEOUT"

"NETWORK_DISCONNECTED"

"NETWORK_SERVER_DOWN"

"NETWORK_INVALID_REQUEST"

"SERVER_FAILED"

"SERVER_NO_RANGE"

"SERVER_BAD_CONTENT"

"SERVER_UNAUTHORIZED"

"SERVER_CERT_PROBLEM"

"SERVER_FORBIDDEN"

"SERVER_UNREACHABLE"

"SERVER_CONTENT_LENGTH_MISMATCH"

"SERVER_CROSS_ORIGIN_REDIRECT"

"USER_CANCELED"

"USER_SHUTDOWN"

"CRASH"

State

in_progress

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

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

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

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

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

ค่าแจกแจง

"in_progress"

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

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

StringDelta

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

  • current

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

  • ก่อนหน้า

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

UiOptions

Chrome 105 ขึ้นไป

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

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

    บูลีน

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

เมธอด

acceptDanger()

Promise
chrome.downloads.acceptDanger(
  downloadId: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    แสดงผล Promise ซึ่งจะทำงานเมื่อกล่องโต้ตอบข้อความแจ้งอันตรายปิดลง

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

cancel()

Promise
chrome.downloads.cancel(
  downloadId: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อคำขอยกเลิกเสร็จสมบูรณ์

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

download()

Promise
chrome.downloads.download(
  options: DownloadOptions,
  callback?: function,
)
: Promise<number>

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

พารามิเตอร์

  • ตัวเลือก

    สิ่งที่ต้องดาวน์โหลดและวิธีดาวน์โหลด

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (downloadId: number) => void

    • downloadId

      ตัวเลข

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

  • Promise<หมายเลข>

    Chrome 96 ขึ้นไป

    แสดงผล Promise ซึ่งจะได้รับการแก้ไขด้วยรหัสของ DownloadItem ใหม่

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

erase()

Promise
chrome.downloads.erase(
  query: DownloadQuery,
  callback?: function,
)
: Promise<number[]>

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

พารามิเตอร์

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (erasedIds: number[]) => void

    • erasedIds

      number[]

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

  • Promise<number[]>

    Chrome 96 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getFileIcon()

Promise
chrome.downloads.getFileIcon(
  downloadId: number,
  options?: GetFileIconOptions,
  callback?: function,
)
: Promise<string | undefined>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • ตัวเลือก

    GetFileIconOptions ไม่บังคับ

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (iconURL?: string) => void

    • iconURL

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

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

  • Promise<string | undefined>

    Chrome 96 ขึ้นไป

    แสดงผล Promise ซึ่งจะเปลี่ยนเป็น URL ของรูปภาพที่แสดงการดาวน์โหลด

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

open()

Promise
chrome.downloads.open(
  downloadId: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

    ตัวระบุสำหรับไฟล์ที่ดาวน์โหลด

  • callback

    ฟังก์ชัน ไม่บังคับ

    Chrome 123 ขึ้นไป

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

    () => void

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

  • Promise<void>

    Chrome 123 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

pause()

Promise
chrome.downloads.pause(
  downloadId: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อคำขอหยุดชั่วคราวเสร็จสมบูรณ์

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

removeFile()

Promise
chrome.downloads.removeFile(
  downloadId: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

resume()

Promise
chrome.downloads.resume(
  downloadId: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

    แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อคำขอเล่นต่อเสร็จสมบูรณ์

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

Promise
chrome.downloads.search(
  query: DownloadQuery,
  callback?: function,
)
: Promise<DownloadItem[]>

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

พารามิเตอร์

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    (results: DownloadItem[]) => void

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

  • Promise<DownloadItem[]>

    Chrome 96 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

setShelfEnabled()

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

โปรดใช้ setUiOptions แทน

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

พารามิเตอร์

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

    บูลีน

setUiOptions()

Promise Chrome 105 ขึ้นไป
chrome.downloads.setUiOptions(
  options: UiOptions,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    ฟังก์ชัน ไม่บังคับ

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

    () => void

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

  • Promise<void>

    แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อการอัปเดต UI เสร็จสมบูรณ์

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

show()

chrome.downloads.show(
  downloadId: number,
)
: void

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

พารามิเตอร์

  • downloadId

    ตัวเลข

    ตัวระบุสำหรับไฟล์ที่ดาวน์โหลด

showDefaultFolder()

chrome.downloads.showDefaultFolder(): void

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

กิจกรรม

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 เพียงครั้งเดียวแบบพร้อมกันหรือแบบไม่พร้อมกัน หาก Listener เรียกใช้ suggest แบบอะซิงโครนัส ก็จะต้องแสดงผล true หากผู้ฟังไม่เรียกใช้ suggest แบบซิงโครนัสหรือไม่ได้ส่งคืน true ระบบจะเรียกใช้ suggest โดยอัตโนมัติ DownloadItem จะไม่เสร็จสมบูรณ์จนกว่าผู้ฟังทุกคนจะโทรหา suggest ผู้ฟังอาจเรียกใช้ 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

      ตัวเลข