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 ไม่บังคับ

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

  • Promise<string | undefined>

    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

      ตัวเลข