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

ผู้จัด

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

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

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

ปลอดภัย

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

รับ

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

ค่าแจกแจง

"url"

"asyncScanning"

"asyncLocalPasswordScanning"

"passwordProtected"

"blockedTooLarge"

"sensitiveContentBlock"

"promptForScanning"

"promptForLocalPasswordScanning"

"accountCompromise"

DoubleDelta

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

  • current

    ตัวเลข ไม่บังคับ

  • ก่อนหน้า

    ตัวเลข ไม่บังคับ

DownloadDelta

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

  • canResume

    BooleanDelta ไม่บังคับ

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

  • อันตราย

    StringDelta ไม่บังคับ

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

  • endTime

    StringDelta ไม่บังคับ

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

  • error

    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 หากมี

  • state

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

  • error

    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 หากไม่ทราบ

  • ชื่อไฟล์

    string

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

  • finalUrl

    string

    Chrome 54 ขึ้นไป

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

  • id

    ตัวเลข

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

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

    boolean

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

  • mime

    string

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

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

    boolean

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

  • referrer

    string

    URL ที่สมบูรณ์

  • startTime

    string

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

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

  • totalBytes

    ตัวเลข

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

  • url

    string

    URL ที่สมบูรณ์ที่การดาวน์โหลดนี้เริ่มต้นก่อนการเปลี่ยนเส้นทางใดๆ

DownloadOptions

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

  • body

    string ไม่บังคับ

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

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

  • ชื่อไฟล์

    string ไม่บังคับ

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

  • headers

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

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

  • method

    HttpMethod ไม่บังคับ

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

  • saveAs

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

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

  • url

    string

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

DownloadQuery

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

  • bytesReceived

    ตัวเลข ไม่บังคับ

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

  • อันตราย

    DangerType ไม่บังคับ

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

  • endTime

    string ไม่บังคับ

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

  • endedAfter

    string ไม่บังคับ

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

  • endedBefore

    string ไม่บังคับ

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

  • error

    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 ที่เริ่มต้นหลังจากมิลลิวินาทีที่ระบุในรูปแบบ ISO 8601

  • startedBefore

    string ไม่บังคับ

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

  • state

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

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

  • totalBytes

    ตัวเลข ไม่บังคับ

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

  • totalBytesGreater

    ตัวเลข ไม่บังคับ

    จำกัดผลลัพธ์ไว้ที่ DownloadItem ซึ่ง totalBytes มากกว่าจำนวนเต็มที่กำหนด

  • totalBytesLess

    ตัวเลข ไม่บังคับ

    จำกัดผลลัพธ์เป็น DownloadItem ซึ่ง totalBytes น้อยกว่าจำนวนเต็มที่กำหนด

  • url

    string ไม่บังคับ

    URL ที่สมบูรณ์ที่การดาวน์โหลดนี้เริ่มต้นก่อนการเปลี่ยนเส้นทางใดๆ

  • urlRegex

    string ไม่บังคับ

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

FilenameConflictAction

ไม่สม่ำเสมอ

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

เขียนทับ

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

ข้อความแจ้ง

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

ค่าแจกแจง

"uniquify"

FilenameSuggestion

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

  • conflictAction

    FilenameConflictAction ไม่บังคับ

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

  • ชื่อไฟล์

    string

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

GetFileIconOptions

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

  • ขนาด

     ไม่บังคับ

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

HeaderNameValuePair

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

  • ชื่อ

    string

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

  • value

    string

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

HttpMethod

ค่าแจกแจง

InterruptReason

ค่าแจกแจง

"FILE_ACCESS_DENIED"

"FILE_NO_SPACE"

"FILE_TOO_LARGE"

"FILE_VIRUS_INFECTED"

"FILE_TRANSIENT_ERROR"

"FILE_BLOCKED"

"FILE_TOO_SHORT"

"FILE_HASH_MISMATCH"

"FILE_SAME_AS_SOURCE"

"NETWORK_TIMEOUT"

"NETWORK_DISCONNECTED"

"NETWORK_SERVER_DOWN"

"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"

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 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ

cancel()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

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

      ตัวเลข

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

  • คำมั่นสัญญา<number>

    Chrome 96 ขึ้นไป

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

erase()

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

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

พารามิเตอร์

  • Callback

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

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

    (erasedIds: number[])=>void

    • erasedIds

      ตัวเลข[]

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

  • คำสัญญา<number[]>

    Chrome 96 ขึ้นไป

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

getFileIcon()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • ตัวเลือก

    GetFileIconOptions ไม่บังคับ

  • Callback

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

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

    (iconURL?: string)=>void

    • iconURL

      string ไม่บังคับ

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

  • คำสัญญา<สตริง|ไม่ระบุ>

    Chrome 96 ขึ้นไป

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

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 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ

pause()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

removeFile()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

resume()

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

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

พารามิเตอร์

  • downloadId

    ตัวเลข

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 96 ขึ้นไป

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

สัญญา
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 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

      ตัวเลข