chrome.downloads

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

คำอธิบาย

ใช้ 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 (หากมี)

  • exists

    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))})})

  • exists

    บูลีน

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

  • fileSize

    ตัวเลข

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

  • ชื่อไฟล์

    สตริง

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

  • finalUrl

    สตริง

    Chrome 54 ขึ้นไป

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

  • id

    ตัวเลข

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

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

    บูลีน

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

  • mime

    สตริง

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

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

    บูลีน

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

  • URL ที่มา

    สตริง

    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 ที่สิ้นสุดก่อนเวลาที่ระบุเป็นมิลลิวินาทีในรูปแบบ ISO 8601

  • ข้อผิดพลาด

    InterruptReason ไม่บังคับ

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

  • exists

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

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

  • 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

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

  • ขนาด

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

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

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"

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

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 พร้อม DownloadItem ใหม่ของ downloadId หากเกิดข้อผิดพลาดในการเริ่มดาวน์โหลด ระบบจะเรียกใช้ callback พร้อม downloadId=undefined และ runtime.lastError จะมีสตริงอธิบาย เราไม่รับประกันว่าสตริงข้อผิดพลาดจะยังคงเข้ากันได้แบบย้อนหลังระหว่างรุ่น ส่วนขยายต้องไม่แยกวิเคราะห์

พารามิเตอร์

  • ตัวเลือก

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

  • callback

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

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

    (downloadId: number) => void

    • downloadId

      ตัวเลข

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

  • Promise<number>

    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>

ดึงไอคอนสำหรับการดาวน์โหลดที่ระบุ สำหรับการดาวน์โหลดใหม่ ไอคอนไฟล์จะพร้อมใช้งานหลังจากที่ระบบกำหนดชื่อไฟล์ของการดาวน์โหลดแล้วเท่านั้น (เช่น หลังจากได้รับเหตุการณ์ onChanged สำหรับ filename) การเรียกใช้ฟังก์ชันนี้ก่อนที่ระบบจะกำหนดชื่อไฟล์ (เช่น ใน Listener onCreated หรือ onDeterminingFilename) จะทำให้เกิดข้อผิดพลาด Filename not yet determined รูปภาพที่ฟังก์ชันนี้แสดงในขณะที่กำลังดาวน์โหลดอาจแตกต่างจากรูปภาพที่แสดงหลังจากดาวน์โหลดเสร็จสมบูรณ์แล้ว การดึงข้อมูลไอคอนจะทำโดยการค้นหาระบบปฏิบัติการหรือชุดเครื่องมือพื้นฐาน ทั้งนี้ขึ้นอยู่กับแพลตฟอร์ม ดังนั้น ไอคอนที่แสดงจะขึ้นอยู่กับหลายปัจจัย ซึ่งรวมถึงสถานะการดาวน์โหลด แพลตฟอร์ม ประเภทไฟล์ที่ลงทะเบียน และธีมภาพ หากระบุไอคอนไฟล์ไม่ได้ ระบบจะปฏิเสธ Promise หรือ 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เป้าหมาย ส่วนขยายแต่ละรายการจะลงทะเบียนเครื่องมือฟังสำหรับเหตุการณ์นี้ได้ไม่เกิน 1 รายการ ผู้ฟังแต่ละคนต้องเรียกใช้ suggest เพียงครั้งเดียวแบบพร้อมกันหรือแบบไม่พร้อมกัน หากผู้ฟังเรียกใช้ 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

      ตัวเลข