คำอธิบาย
ใช้ chrome.downloads
API เพื่อเริ่มต้น ตรวจสอบ จัดการ และค้นหาการดาวน์โหลดโดยใช้โปรแกรม
สิทธิ์
downloads
คุณต้องประกาศสิทธิ์ "downloads"
ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API นี้
{
"name": "My extension",
...
"permissions": [
"downloads"
],
}
ตัวอย่าง
คุณดูตัวอย่างการใช้ chrome.downloads
API แบบง่ายๆ ได้ในไดเรกทอรี examples/api/downloads
ดูตัวอย่างอื่นๆ และความช่วยเหลือในการดูซอร์สโค้ดได้ที่ตัวอย่าง
ประเภท
BooleanDelta
พร็อพเพอร์ตี้
-
current
บูลีน ไม่บังคับ
-
ก่อนหน้า
บูลีน ไม่บังคับ
DangerType
ไฟล์
ชื่อไฟล์ที่ดาวน์โหลดน่าสงสัย
URL
URL ของการดาวน์โหลดเป็นที่ทราบกันว่ามีอันตราย
เนื้อหา
ระบบทราบว่าไฟล์ที่ดาวน์โหลดเป็นอันตราย
พบไม่บ่อย
URL ของการดาวน์โหลดไม่ได้มีการดาวน์โหลดกันโดยทั่วไปและอาจเป็นอันตราย
ผู้จัด
การดาวน์โหลดมาจากโฮสต์ที่ทราบกันว่าเผยแพร่ไบนารีที่เป็นอันตรายและอาจเป็นอันตราย
ไม่พึงประสงค์
การดาวน์โหลดอาจไม่พึงประสงค์หรือไม่ปลอดภัย เช่น อาจทำการเปลี่ยนแปลงการตั้งค่าเบราว์เซอร์หรือคอมพิวเตอร์
ปลอดภัย
การดาวน์โหลดไม่มีอันตรายที่ทราบแล้วต่อคอมพิวเตอร์ของผู้ใช้
ยอมรับ
ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตราย
ค่าแจกแจง
"file"
"url"
"content"
"ไม่พบ"
"host"
"ไม่ต้องการ"
"ปลอดภัย"
"ยอมรับ"
"allowlistedByPolicy"
"asyncScanning"
"asyncLocalPasswordScanning"
"passwordProtected"
"blockedTooLarge"
"sensitiveContentWarning"
"sensitiveContentBlock"
"deepScannedFailed"
"deepScannedSafe"
"deepScannedOpenedDangerous"
"promptForScanning"
"promptForLocalPasswordScanning"
"accountCompromise"
"blockedScanFailed"
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 ขึ้นไป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
สตริง
URL แบบเต็มที่การดาวน์โหลดนี้เริ่มต้นจากก่อนการเปลี่ยนเส้นทาง
DownloadOptions
พร็อพเพอร์ตี้
-
เนื้อความ
สตริง ไม่บังคับ
เนื้อหาของโพสต์
-
conflictAction
FilenameConflictAction ไม่บังคับ
การดำเนินการที่ต้องทำหากมี
filename
อยู่แล้ว -
ชื่อไฟล์
สตริง ไม่บังคับ
เส้นทางไฟล์ที่สัมพันธ์กับไดเรกทอรี Downloads เพื่อเก็บไฟล์ที่ดาวน์โหลด ซึ่งอาจมีไดเรกทอรีย่อย เส้นทางแบบสัมบูรณ์ เส้นทางว่าง และเส้นทางที่มีการอ้างอิงย้อนกลับ ".." จะทำให้เกิดข้อผิดพลาด
onDeterminingFilename
ช่วยให้แนะนำชื่อไฟล์ได้หลังจากที่กำหนดประเภท MIME ของไฟล์และชื่อไฟล์เบื้องต้นแล้ว -
ส่วนหัว
HeaderNameValuePair[] ไม่บังคับ
ส่วนหัว HTTP เพิ่มเติมที่จะส่งพร้อมกับคำขอหาก URL ใช้โปรโตคอล HTTP[s] ส่วนหัวแต่ละรายการจะแสดงเป็นพจนานุกรมที่มีคีย์
name
และvalue
หรือbinaryValue
โดยจำกัดเฉพาะส่วนหัวที่ XMLHttpRequest อนุญาต -
method
HttpMethod ไม่บังคับ
เมธอด HTTP ที่จะใช้หาก URL ใช้โปรโตคอล HTTP[S]
-
saveAs
บูลีน ไม่บังคับ
ใช้ตัวเลือกไฟล์เพื่ออนุญาตให้ผู้ใช้เลือกชื่อไฟล์ไม่ว่า
filename
จะตั้งค่าไว้หรือไม่หรือมีอยู่แล้วก็ตาม -
URL
สตริง
URL ที่จะดาวน์โหลด
DownloadQuery
พร็อพเพอร์ตี้
-
bytesReceived
หมายเลข ไม่บังคับ
จำนวนไบต์ที่ได้รับจากโฮสต์จนถึงตอนนี้ โดยไม่พิจารณาการบีบอัดไฟล์
-
อันตราย
DangerType ไม่บังคับ
ตัวบ่งชี้ว่าระบบคิดว่าการดาวน์โหลดนี้ปลอดภัยหรือทราบว่าน่าสงสัย
-
endTime
สตริง ไม่บังคับ
เวลาที่การดาวน์โหลดสิ้นสุดในรูปแบบ ISO 8601
-
endedAfter
สตริง ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่สิ้นสุดหลังจากเวลาที่ระบุเป็นมิลลิวินาทีในรูปแบบ ISO 8601 -
endedBefore
สตริง ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่สิ้นสุดก่อน ms ที่ระบุในรูปแบบ ISO 8601 -
ข้อผิดพลาด
InterruptReason ไม่บังคับ
สาเหตุที่ทำให้การดาวน์โหลดถูกขัดจังหวะ
-
exists
บูลีน ไม่บังคับ
มีไฟล์ที่ดาวน์โหลดหรือไม่
-
fileSize
หมายเลข ไม่บังคับ
จำนวนไบต์ในไฟล์ทั้งหมดหลังการคลายการบีบอัด หรือ -1 หากไม่ทราบ
-
ชื่อไฟล์
สตริง ไม่บังคับ
เส้นทางภายในแบบสัมบูรณ์
-
filenameRegex
สตริง ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่filename
ตรงกับนิพจน์ทั่วไปที่ระบุ -
finalUrl
สตริง ไม่บังคับ
Chrome 54 ขึ้นไป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
ที่เริ่มต้นก่อน ms ที่ระบุในรูปแบบ ISO 8601 -
รัฐ
รัฐ ไม่บังคับ
ระบุว่าการดาวน์โหลดกำลังดำเนินการ หยุดชั่วคราว หรือเสร็จสมบูรณ์แล้ว
-
totalBytes
หมายเลข ไม่บังคับ
จำนวนไบต์ในไฟล์ทั้งหมดโดยไม่พิจารณาการบีบอัดไฟล์ หรือ -1 หากไม่ทราบ
-
totalBytesGreater
หมายเลข ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่มีtotalBytes
มากกว่าจำนวนเต็มที่ระบุ -
totalBytesLess
หมายเลข ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่มีtotalBytes
น้อยกว่าจำนวนเต็มที่ระบุ -
URL
สตริง ไม่บังคับ
URL แบบเต็มที่การดาวน์โหลดนี้เริ่มต้นจากก่อนการเปลี่ยนเส้นทาง
-
urlRegex
สตริง ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่url
ตรงกับนิพจน์ทั่วไปที่ระบุ
FilenameConflictAction
ทำให้ไม่ซ้ำกัน
ระบบจะเปลี่ยน filename
ให้มีตัวนับอยู่ก่อนนามสกุลไฟล์เพื่อหลีกเลี่ยงการซ้ำกัน
เขียนทับ
ระบบจะเขียนทับไฟล์ที่มีอยู่ด้วยไฟล์ใหม่
prompt
ผู้ใช้จะได้รับแจ้งด้วยกล่องโต้ตอบตัวเลือกไฟล์
ค่าแจกแจง
"uniquify"
"เขียนทับ"
"พรอมต์"
FilenameSuggestion
พร็อพเพอร์ตี้
-
conflictAction
FilenameConflictAction ไม่บังคับ
การดำเนินการที่ต้องทำหากมี
filename
อยู่แล้ว -
ชื่อไฟล์
สตริง
DownloadItem
เป้าหมายใหม่ของDownloadItem.filename
ซึ่งเป็นเส้นทางที่สัมพันธ์กับไดเรกทอรีดาวน์โหลดเริ่มต้นของผู้ใช้ ซึ่งอาจมีไดเรกทอรีย่อย ระบบจะไม่สนใจเส้นทางแบบสัมบูรณ์ เส้นทางว่าง และเส้นทางที่มีการอ้างอิงย้อนกลับ ".."filename
จะถูกละเว้นหากมี ListeneronDeterminingFilename
ที่ลงทะเบียนโดยส่วนขยายใดๆ
GetFileIconOptions
พร็อพเพอร์ตี้
-
ขนาด
หมายเลข ไม่บังคับ
ขนาดของไอคอนที่แสดงผล ไอคอนจะเป็นสี่เหลี่ยมจัตุรัสที่มีขนาดด้านละ * พิกเซล ขนาดเริ่มต้นและขนาดใหญ่ที่สุดของไอคอนคือ 32x32 พิกเซล รองรับเฉพาะขนาด 16 และ 32 การระบุขนาดอื่นถือเป็นข้อผิดพลาด
HeaderNameValuePair
พร็อพเพอร์ตี้
-
ชื่อ
สตริง
ชื่อของส่วนหัว 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
พร็อพเพอร์ตี้
-
เปิดใช้อยู่
บูลีน
เปิดหรือปิดใช้ UI การดาวน์โหลด
เมธอด
acceptDanger()
chrome.downloads.acceptDanger(
downloadId: number,
): Promise<void>
แจ้งให้ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตราย เรียกใช้ได้จากบริบทที่มองเห็นได้เท่านั้น (แท็บ หน้าต่าง หรือป๊อปอัปการดำเนินการในหน้าเว็บ/เบราว์เซอร์) ไม่ยอมรับการดาวน์โหลดที่เป็นอันตรายโดยอัตโนมัติ หากยอมรับการดาวน์โหลด ระบบจะทริกเกอร์เหตุการณ์ onChanged
มิเช่นนั้นจะไม่มีอะไรเกิดขึ้น เมื่อดึงข้อมูลทั้งหมดลงในไฟล์ชั่วคราวแล้ว และการดาวน์โหลดไม่เป็นอันตรายหรือยอมรับอันตรายแล้ว ระบบจะเปลี่ยนชื่อไฟล์ชั่วคราวเป็นชื่อไฟล์เป้าหมาย state
จะเปลี่ยนเป็น "เสร็จสมบูรณ์" และ onChanged
จะเริ่มทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับ
DownloadItem
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป
cancel()
chrome.downloads.cancel(
downloadId: number,
): Promise<void>
ยกเลิกการดาวน์โหลด เมื่อเรียกใช้ callback
ระบบจะยกเลิก ดาวน์โหลดเสร็จสมบูรณ์ ขัดจังหวะ หรือไม่มีการดาวน์โหลดอีกต่อไป
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะยกเลิก
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป
download()
chrome.downloads.download(
options: DownloadOptions,
): Promise<number>
ดาวน์โหลด URL หาก URL ใช้โปรโตคอล HTTP[S] คำขอจะมีคุกกี้ทั้งหมดที่ตั้งค่าไว้สำหรับชื่อโฮสต์ในขณะนั้น หากระบุทั้ง filename
และ saveAs
ระบบจะแสดงกล่องโต้ตอบ "บันทึกเป็น" โดยจะป้อนข้อมูล filename
ที่ระบุไว้ล่วงหน้า หากการดาวน์โหลดเริ่มต้นสำเร็จ ระบบจะเรียกใช้ callback
พร้อมกับ downloadId
ของ DownloadItem
ใหม่ หากเกิดข้อผิดพลาดในการเริ่มดาวน์โหลด ระบบจะเรียกใช้ callback
พร้อม downloadId=undefined
และ runtime.lastError
จะมีสตริงอธิบาย เราไม่รับประกันว่าสตริงข้อผิดพลาดจะยังคงเข้ากันได้แบบย้อนหลังระหว่างรุ่นต่างๆ ส่วนขยายต้องไม่แยกวิเคราะห์
พารามิเตอร์
-
ตัวเลือก
สิ่งที่ต้องดาวน์โหลดและวิธีดาวน์โหลด
การคืนสินค้า
-
Promise<number>
Chrome 96 ขึ้นไป
erase()
chrome.downloads.erase(
query: DownloadQuery,
): Promise<number[]>
ลบDownloadItem
ที่ตรงกันออกจากประวัติโดยไม่ต้องลบไฟล์ที่ดาวน์โหลด เหตุการณ์ onErased
จะทํางานสําหรับ DownloadItem
แต่ละรายการที่ตรงกับ query
จากนั้นระบบจะเรียกใช้ callback
พารามิเตอร์
-
query
การคืนสินค้า
-
Promise<number[]>
Chrome 96 ขึ้นไป
getFileIcon()
chrome.downloads.getFileIcon(
downloadId: number,
options?: GetFileIconOptions,
): Promise<string | undefined>
ดึงข้อมูลไอคอนสำหรับการดาวน์โหลดที่ระบุ สำหรับการดาวน์โหลดใหม่ ไอคอนไฟล์จะพร้อมใช้งานหลังจากได้รับเหตุการณ์ onCreated
รูปภาพที่ฟังก์ชันนี้แสดงในขณะที่กำลังดาวน์โหลดอาจแตกต่างจากรูปภาพที่แสดงหลังจากดาวน์โหลดเสร็จสมบูรณ์แล้ว การดึงข้อมูลไอคอนจะทำโดยการค้นหาระบบปฏิบัติการหรือชุดเครื่องมือพื้นฐาน ทั้งนี้ขึ้นอยู่กับแพลตฟอร์ม ดังนั้น ไอคอนที่แสดงจะขึ้นอยู่กับหลายปัจจัย ซึ่งรวมถึงสถานะการดาวน์โหลด แพลตฟอร์ม ประเภทไฟล์ที่ลงทะเบียน และธีมภาพ หากระบุไอคอนไฟล์ไม่ได้ runtime.lastError
จะมีข้อความแสดงข้อผิดพลาด
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับการดาวน์โหลด
-
ตัวเลือก
GetFileIconOptions ไม่บังคับ
การคืนสินค้า
-
Promise<string | undefined>
Chrome 96 ขึ้นไป
open()
chrome.downloads.open(
downloadId: number,
): Promise<void>
เปิดไฟล์ที่ดาวน์โหลดในตอนนี้หาก DownloadItem
เสร็จสมบูรณ์ หรือแสดงผลข้อผิดพลาดผ่าน runtime.lastError
วิธีนี้ต้องใช้สิทธิ์ "downloads.open"
นอกเหนือจากสิทธิ์ "downloads"
เหตุการณ์ onChanged
จะทริกเกอร์เมื่อเปิดรายการเป็นครั้งแรก เรียกใช้เมธอดนี้ได้เมื่อตอบสนองต่อท่าทางสัมผัสของผู้ใช้เท่านั้น
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับไฟล์ที่ดาวน์โหลด
การคืนสินค้า
-
Promise<void>
Chrome 123 ขึ้นไป
pause()
chrome.downloads.pause(
downloadId: number,
): Promise<void>
หยุดการดาวน์โหลดชั่วคราว หากคำขอสำเร็จ การดาวน์โหลดจะอยู่ในสถานะหยุดชั่วคราว ไม่เช่นนั้น runtime.lastError
จะมีข้อความแสดงข้อผิดพลาด คำขอจะล้มเหลวหากการดาวน์โหลดไม่ทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะหยุดชั่วคราว
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป
removeFile()
chrome.downloads.removeFile(
downloadId: number,
): Promise<void>
นำไฟล์ที่ดาวน์โหลดออกหากมีอยู่และDownloadItem
เสร็จสมบูรณ์แล้ว มิฉะนั้นให้ส่งคืนข้อผิดพลาดผ่าน runtime.lastError
พารามิเตอร์
-
downloadId
ตัวเลข
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป
resume()
chrome.downloads.resume(
downloadId: number,
): Promise<void>
ดาวน์โหลดต่อ หากคำขอสำเร็จ การดาวน์โหลดจะดำเนินต่อและจะยกเลิกการหยุดชั่วคราว ไม่เช่นนั้น runtime.lastError
จะมีข้อความแสดงข้อผิดพลาด คำขอจะล้มเหลวหากการดาวน์โหลดไม่ทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะดำเนินการต่อ
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป
search()
chrome.downloads.search(
query: DownloadQuery,
): Promise<DownloadItem[]>
ค้นหา DownloadItem
ตั้งค่า query
เป็นออบเจ็กต์ที่ว่างเปล่าเพื่อรับ DownloadItem
ทั้งหมด หากต้องการรับ DownloadItem
ที่เฉพาะเจาะจง ให้ตั้งค่าเฉพาะฟิลด์ id
หากต้องการเลื่อนดูรายการจำนวนมาก ให้ตั้งค่า orderBy: ['-startTime']
ตั้งค่า limit
เป็นจำนวนรายการต่อหน้า และตั้งค่า startedAfter
เป็น startTime
ของรายการสุดท้ายจากหน้าสุดท้าย
พารามิเตอร์
-
query
การคืนสินค้า
-
Promise<DownloadItem[]>
Chrome 96 ขึ้นไป
setShelfEnabled()
chrome.downloads.setShelfEnabled(
enabled: boolean,
): void
โปรดใช้ setUiOptions
แทน
เปิดหรือปิดใช้ชั้นวางสีเทาที่ด้านล่างของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ระบบจะปิดใช้ชั้นวางตราบใดที่ส่วนขยายอย่างน้อย 1 รายการปิดใช้ชั้นวาง การเปิดใช้ชั้นวางในขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้ชั้นวางจะทำให้เกิดข้อผิดพลาดผ่าน runtime.lastError
ต้องมีสิทธิ์ "downloads.shelf"
นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
เปิดใช้อยู่
บูลีน
setUiOptions()
chrome.downloads.setUiOptions(
options: UiOptions,
): Promise<void>
เปลี่ยน UI การดาวน์โหลดของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ตราบใดที่ส่วนขยายอย่างน้อย 1 รายการตั้งค่า UiOptions.enabled
เป็น false ระบบจะซ่อน UI การดาวน์โหลด การตั้งค่า UiOptions.enabled
เป็นจริงในขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้ไว้จะแสดงข้อผิดพลาดผ่าน runtime.lastError
ต้องมีสิทธิ์ "downloads.ui"
นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
ตัวเลือก
แคปซูลการเปลี่ยนแปลง UI การดาวน์โหลด
การคืนสินค้า
-
Promise<void>
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
-
downloadDelta
-
onCreated
chrome.downloads.onCreated.addListener(
callback: function,
)
เหตุการณ์นี้จะทริกเกอร์ด้วยออบเจ็กต์ DownloadItem
เมื่อการดาวน์โหลดเริ่มต้น
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(downloadItem: DownloadItem) => void
-
downloadItem
-
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
-
คำแนะนำ
FilenameSuggestion ไม่บังคับ
-
-
onErased
chrome.downloads.onErased.addListener(
callback: function,
)
ทริกเกอร์ด้วย downloadId
เมื่อลบการดาวน์โหลดออกจากประวัติ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(downloadId: number) => void
-
downloadId
ตัวเลข
-