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 ของการดาวน์โหลดเป็นที่ทราบกันว่าเป็นอันตราย

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

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

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

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

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

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

"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

    number ไม่บังคับ

  • ก่อนหน้า

    number ไม่บังคับ

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 อาจส่งไปยังตัวสร้าง Date โดยตรง: 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 อาจส่งไปยังตัวสร้าง Date โดยตรง: 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 หากไม่ทราบ

  • ชื่อไฟล์

    สตริง

    Absolute Local Path

  • finalUrl

    สตริง

    Chrome 54 ขึ้นไป

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

  • id

    ตัวเลข

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

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

    บูลีน

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

  • mime

    สตริง

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

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

    บูลีน

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

  • URL ที่มา

    สตริง

    Absolute URL

  • startTime

    สตริง

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

  • รัฐ

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

  • totalBytes

    ตัวเลข

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

  • URL

    สตริง

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

DownloadOptions

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

  • เนื้อความ

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

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

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

  • ชื่อไฟล์

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

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

  • ส่วนหัว

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

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

  • method

    HttpMethod ไม่บังคับ

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

  • saveAs

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

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

  • URL

    สตริง

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

DownloadQuery

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

  • bytesReceived

    number ไม่บังคับ

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

  • อันตราย

    DangerType ไม่บังคับ

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

  • endTime

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

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

  • endedAfter

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

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

  • endedBefore

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

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

  • ข้อผิดพลาด

    InterruptReason ไม่บังคับ

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

  • มีอยู่

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

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

  • fileSize

    number ไม่บังคับ

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

  • ชื่อไฟล์

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

    Absolute Local Path

  • filenameRegex

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

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

  • finalUrl

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

    Chrome 54 ขึ้นไป

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

  • finalUrlRegex

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

    Chrome 54 ขึ้นไป

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

  • id

    number ไม่บังคับ

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

  • ขีดจำกัด

    number ไม่บังคับ

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

  • mime

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

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

  • orderBy

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

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

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

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

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

  • query

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

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

  • startTime

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

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

  • startedAfter

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

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

  • startedBefore

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

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

  • รัฐ

    State ไม่บังคับ

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

  • totalBytes

    number ไม่บังคับ

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

  • totalBytesGreater

    number ไม่บังคับ

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

  • totalBytesLess

    number ไม่บังคับ

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

  • URL

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

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

  • urlRegex

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

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

FilenameConflictAction

uniquify

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

เขียนทับ

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

พรอมต์

ระบบจะแสดงกล่องโต้ตอบเครื่องมือเลือกไฟล์ให้ผู้ใช้เห็น

ค่าแจกแจง

"uniquify"

"overwrite"

"prompt"

FilenameSuggestion

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

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

  • ชื่อไฟล์

    สตริง

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

GetFileIconOptions

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

  • ขนาด

    number ไม่บังคับ

    ขนาดของไอคอนที่แสดงผลในหน่วยความหนาแน่นของพิกเซลอิสระ (DIP) ต้องเป็น 16 หรือ 32 (ค่าเริ่มต้นคือ 32) ในจอแสดงผลที่มี DPI สูง รูปภาพที่แสดงผลจะปรับขนาดตามค่าตัวคูณมาตราส่วนของอุปกรณ์ (เช่น 64x64 พิกเซลสำหรับขนาด 32 บนจอแสดงผล 2 เท่า) การเรียกจาก Service Worker ที่ทำงานอยู่เบื้องหลังจะมีค่าเริ่มต้นเป็นสเกล 1 เท่า

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"

"interrupted"

"complete"

StringDelta

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

  • current

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

  • ก่อนหน้า

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

UiOptions

Chrome 105 ขึ้นไป

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

  • เปิดอยู่

    บูลีน

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

เมธอด

acceptDanger()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

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

cancel()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

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

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

    function ไม่บังคับ

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

    (downloadId: number) => void

    • downloadId

      ตัวเลข

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

  • Promise<number>

    Chrome 96 ขึ้นไป

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

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

erase()

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

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

พารามิเตอร์

  • callback

    function ไม่บังคับ

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

    (erasedIds: number[]) => void

    • erasedIds

      number[]

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

  • Promise<number[]>

    Chrome 96 ขึ้นไป

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

getFileIcon()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • ตัวเลือก

    GetFileIconOptions ไม่บังคับ

  • callback

    function ไม่บังคับ

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

    (iconURL?: string) => void

    • iconURL

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

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

  • Promise<string | undefined>

    Chrome 96 ขึ้นไป

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

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

open()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    function ไม่บังคับ

    Chrome 123 ขึ้นไป

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

    () => void

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

  • Promise<void>

    Chrome 123 ขึ้นไป

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

pause()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

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

removeFile()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

resume()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

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

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

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

พารามิเตอร์

  • callback

    function ไม่บังคับ

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

    (results: DownloadItem[]) => void

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

  • Promise<DownloadItem[]>

    Chrome 96 ขึ้นไป

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

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 เป็นเท็จ UI การดาวน์โหลดจะถูกซ่อนไว้ การตั้งค่า UiOptions.enabled เป็น "จริง" ขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้จะแสดงข้อผิดพลาดผ่าน runtime.lastError ต้องมีสิทธิ์ "downloads.ui" นอกเหนือจากสิทธิ์ "downloads"

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

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

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

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

      ตัวเลข