คำอธิบาย
ใช้ chrome.downloads API เพื่อเริ่มต้น ตรวจสอบ จัดการ และค้นหาการดาวน์โหลดแบบเป็นโปรแกรม
สิทธิ์
downloadsคุณต้องประกาศสิทธิ์ "downloads" ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API นี้
{
"name": "My extension",
...
"permissions": [
"downloads"
],
}
ตัวอย่าง
คุณดูตัวอย่างง่ายๆ ของการใช้ browser.downloads API ได้ในไดเรกทอรี examples/api/downloads ดูตัวอย่างอื่นๆ และความช่วยเหลือในการดูซอร์สโค้ดได้ที่ตัวอย่าง
ประเภท
BooleanDelta
พร็อพเพอร์ตี้
-
current
บูลีน ไม่บังคับ
-
ก่อนหน้า
บูลีน ไม่บังคับ
DangerType
ค่าแจกแจง
"file"
ชื่อไฟล์ที่ดาวน์โหลดน่าสงสัย
"url"
URL ของการดาวน์โหลดเป็นที่ทราบกันว่าเป็นอันตราย
"content"
ไฟล์ที่ดาวน์โหลดเป็นอันตราย
"uncommon"
URL ของการดาวน์โหลดไม่ได้มีการดาวน์โหลดกันโดยทั่วไปและอาจเป็นอันตราย
"host"
การดาวน์โหลดมาจากโฮสต์ที่ทราบว่าเผยแพร่ไบนารีที่เป็นอันตรายและมีแนวโน้มว่าจะเป็นอันตราย
"unwanted"
การดาวน์โหลดอาจไม่พึงประสงค์หรือไม่ปลอดภัย เช่น อาจทำการเปลี่ยนแปลงการตั้งค่าเบราว์เซอร์หรือคอมพิวเตอร์
"safe"
การดาวน์โหลดไม่ก่อให้เกิดอันตรายที่ทราบต่อคอมพิวเตอร์ของผู้ใช้
"accepted"
ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตราย
"allowlistedByPolicy"
ค่าที่เกี่ยวข้องกับองค์กร
"asyncScanning"
"asyncLocalPasswordScanning"
"passwordProtected"
"blockedTooLarge"
"sensitiveContentWarning"
"sensitiveContentBlock"
"deepScannedFailed"
"deepScannedSafe"
"deepScannedOpenedDangerous"
"promptForScanning"
"promptForLocalPasswordScanning"
"accountCompromise"
"blockedScanFailed"
"forceSaveToGdrive"
สำหรับใช้โดยส่วนขยาย Secure Enterprise Browser เมื่อจำเป็น Chrome จะบล็อกการดาวน์โหลดลงในดิสก์และดาวน์โหลดไฟล์ไปยัง Google ไดรฟ์โดยตรง
"forceSaveToOnedrive"
สำหรับใช้โดยส่วนขยาย Secure Enterprise Browser เมื่อจำเป็น Chrome จะบล็อกการดาวน์โหลดลงในดิสก์และดาวน์โหลดไฟล์ไปยัง OneDrive โดยตรง
DoubleDelta
พร็อพเพอร์ตี้
-
current
number ไม่บังคับ
-
ก่อนหน้า
number ไม่บังคับ
DownloadDelta
พร็อพเพอร์ตี้
-
canResume
BooleanDelta ไม่บังคับ
การเปลี่ยนแปลงใน
canResume(หากมี) -
อันตราย
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
danger(หากมี) -
endTime
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
endTime(หากมี) -
ข้อผิดพลาด
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
error(หากมี) -
มีอยู่
BooleanDelta ไม่บังคับ
การเปลี่ยนแปลงใน
exists(หากมี) -
fileSize
DoubleDelta ไม่บังคับ
การเปลี่ยนแปลงใน
fileSize(หากมี) -
ชื่อไฟล์
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
filename(หากมี) -
finalUrl
StringDelta ไม่บังคับ
Chrome 54 ขึ้นไป browser.* ตั้งแต่ Chrome 148การเปลี่ยนแปลงใน
finalUrl(หากมี) -
id
ตัวเลข
idของDownloadItemที่มีการเปลี่ยนแปลง -
mime
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
mime(หากมี) -
หยุดชั่วคราว
BooleanDelta ไม่บังคับ
การเปลี่ยนแปลงใน
paused(หากมี) -
startTime
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
startTime(หากมี) -
รัฐ
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
state(หากมี) -
totalBytes
DoubleDelta ไม่บังคับ
การเปลี่ยนแปลงใน
totalBytes(หากมี) -
URL
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
url(หากมี)
DownloadItem
พร็อพเพอร์ตี้
-
byExtensionId
สตริง ไม่บังคับ
ตัวระบุสำหรับส่วนขยายที่เริ่มการดาวน์โหลดนี้ หากการดาวน์โหลดนี้เริ่มต้นโดยส่วนขยาย ไม่เปลี่ยนแปลงเมื่อตั้งค่าแล้ว
-
byExtensionName
สตริง ไม่บังคับ
ชื่อที่แปลแล้วของส่วนขยายที่เริ่มการดาวน์โหลดนี้ หากการดาวน์โหลดนี้เริ่มต้นโดยส่วนขยาย อาจมีการเปลี่ยนแปลงหากส่วนขยายเปลี่ยนชื่อหรือหากผู้ใช้เปลี่ยนภาษา
-
bytesReceived
ตัวเลข
จำนวนไบต์ที่ได้รับจากโฮสต์จนถึงตอนนี้ โดยไม่พิจารณาการบีบอัดไฟล์
-
canResume
บูลีน
เป็นจริงหากการดาวน์โหลดกำลังดำเนินอยู่และหยุดชั่วคราว หรือหากการดาวน์โหลดถูกขัดจังหวะและสามารถกลับมาดาวน์โหลดต่อจากจุดที่ถูกขัดจังหวะได้
-
อันตราย
ตัวบ่งชี้ว่าการดาวน์โหลดนี้ถือว่าปลอดภัยหรือทราบว่าน่าสงสัย
-
endTime
สตริง ไม่บังคับ
เวลาที่การดาวน์โหลดสิ้นสุดลงในรูปแบบ ISO 8601 อาจส่งไปยังตัวสร้าง Date โดยตรง:
chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.endTime) console.log(new Date(item.endTime))})}) -
ข้อผิดพลาด
InterruptReason ไม่บังคับ
สาเหตุที่ทำให้การดาวน์โหลดถูกขัดจังหวะ ข้อผิดพลาดของ HTTP หลายประเภทอาจจัดกลุ่มอยู่ภายใต้ข้อผิดพลาดอย่างใดอย่างหนึ่งที่ขึ้นต้นด้วย
SERVER_ข้อผิดพลาดที่เกี่ยวข้องกับเครือข่ายจะขึ้นต้นด้วยNETWORK_ข้อผิดพลาดที่เกี่ยวข้องกับกระบวนการเขียนไฟล์ลงในระบบไฟล์จะขึ้นต้นด้วยFILE_และการหยุดชะงักที่เริ่มต้นโดยผู้ใช้จะขึ้นต้นด้วยUSER_ -
estimatedEndTime
สตริง ไม่บังคับ
เวลาโดยประมาณที่การดาวน์โหลดจะเสร็จสมบูรณ์ในรูปแบบ ISO 8601 อาจส่งไปยังตัวสร้าง Date โดยตรง:
chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.estimatedEndTime) console.log(new Date(item.estimatedEndTime))})}) -
มีอยู่
บูลีน
ไฟล์ที่ดาวน์โหลดมายังคงอยู่หรือไม่ ข้อมูลนี้อาจล้าสมัยเนื่องจาก Chrome ไม่ได้ตรวจสอบการนำไฟล์ออกโดยอัตโนมัติ เรียกใช้
search() เพื่อเรียกให้ตรวจสอบว่ามีไฟล์อยู่หรือไม่ เมื่อการตรวจสอบการมีอยู่เสร็จสมบูรณ์ หากไฟล์ถูกลบไปแล้ว ระบบจะเริ่มเหตุการณ์onChangedโปรดทราบว่าsearch() จะไม่รอให้การตรวจสอบการมีอยู่เสร็จสิ้นก่อนที่จะแสดงผล ดังนั้นผลลัพธ์จากsearch() อาจไม่แสดงระบบไฟล์อย่างถูกต้องsearch() อาจถูกเรียกใช้บ่อยเท่าที่จำเป็น แต่จะไม่ตรวจสอบการมีอยู่ของไฟล์บ่อยกว่า 1 ครั้งทุกๆ 10 วินาที -
fileSize
ตัวเลข
จำนวนไบต์ในไฟล์ทั้งหมดหลังการคลายการบีบอัด หรือ -1 หากไม่ทราบ
-
ชื่อไฟล์
สตริง
Absolute Local Path
-
finalUrl
สตริง
Chrome 54 ขึ้นไป browser.* ตั้งแต่ Chrome 148Absolute URL ที่ใช้ในการดาวน์โหลดนี้ หลังจากที่มีการเปลี่ยนเส้นทางทั้งหมด
-
id
ตัวเลข
ตัวระบุที่คงอยู่ในเซสชันต่างๆ ของเบราว์เซอร์
-
ไม่ระบุตัวตน
บูลีน
เป็นเท็จหากมีการบันทึกการดาวน์โหลดนี้ในประวัติ เป็นจริงหากไม่มีการบันทึก
-
mime
สตริง
ประเภท MIME ของไฟล์
-
หยุดชั่วคราว
บูลีน
True หากการดาวน์โหลดหยุดอ่านข้อมูลจากโฮสต์ แต่ยังคงเปิดการเชื่อมต่อไว้
-
URL ที่มา
สตริง
Absolute URL
-
startTime
สตริง
เวลาที่เริ่มดาวน์โหลดในรูปแบบ ISO 8601 อาจส่งไปยังตัวสร้าง Date โดยตรง:
chrome.downloads.search({}, function(items){items.forEach(function(item){console.log(new Date(item.startTime))})}) -
รัฐ
ระบุว่าการดาวน์โหลดกำลังดำเนินอยู่ ถูกขัดจังหวะ หรือเสร็จสมบูรณ์แล้ว
-
totalBytes
ตัวเลข
จำนวนไบต์ในทั้งไฟล์ โดยไม่พิจารณาการบีบอัดไฟล์ หรือ -1 หากไม่ทราบ
-
URL
สตริง
Absolute URL ที่เริ่มการดาวน์โหลดนี้ก่อนการเปลี่ยนเส้นทาง
DownloadOptions
พร็อพเพอร์ตี้
-
เนื้อความ
สตริง ไม่บังคับ
เนื้อหาของโพสต์
-
conflictAction
FilenameConflictAction ไม่บังคับ
การดำเนินการที่ต้องทำหากมี
filenameอยู่แล้ว -
ชื่อไฟล์
สตริง ไม่บังคับ
เส้นทางไฟล์ที่สัมพันธ์กับไดเรกทอรีดาวน์โหลดเพื่อเก็บไฟล์ที่ดาวน์โหลด ซึ่งอาจมีไดเรกทอรีย่อย Absolute Path, เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงย้อนกลับ ".." จะทำให้เกิดข้อผิดพลาด
onDeterminingFilenameช่วยให้สามารถแนะนำชื่อไฟล์หลังจากที่กำหนดประเภท MIME ของไฟล์และชื่อไฟล์ชั่วคราวแล้ว -
ส่วนหัว
HeaderNameValuePair[] ไม่บังคับ
ส่วนหัว HTTP เพิ่มเติมที่จะส่งพร้อมกับคำขอหาก URL ใช้โปรโตคอล HTTP[s] ส่วนหัวแต่ละรายการจะแสดงเป็นพจนานุกรมที่มีคีย์
nameและvalueหรือbinaryValueซึ่งจำกัดไว้เฉพาะคีย์ที่ XMLHttpRequest อนุญาต -
method
HttpMethod ไม่บังคับ
เมธอด HTTP ที่จะใช้หาก URL ใช้โปรโตคอล HTTP[S]
-
saveAs
บูลีน ไม่บังคับ
ใช้เครื่องมือเลือกไฟล์เพื่อให้ผู้ใช้เลือกชื่อไฟล์ได้ ไม่ว่าจะตั้งค่า
filenameไว้หรือมีอยู่แล้วหรือไม่ก็ตาม -
URL
สตริง
URL ที่จะดาวน์โหลด
DownloadQuery
พร็อพเพอร์ตี้
-
bytesReceived
number ไม่บังคับ
จำนวนไบต์ที่ได้รับจากโฮสต์จนถึงตอนนี้ โดยไม่พิจารณาการบีบอัดไฟล์
-
อันตราย
DangerType ไม่บังคับ
ตัวบ่งชี้ว่าการดาวน์โหลดนี้ถือว่าปลอดภัยหรือทราบว่าน่าสงสัย
-
endTime
สตริง ไม่บังคับ
เวลาที่การดาวน์โหลดสิ้นสุดลงในรูปแบบ ISO 8601
-
endedAfter
สตริง ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItemที่สิ้นสุดหลังจากมิลลิวินาทีที่ระบุในรูปแบบ ISO 8601 -
endedBefore
สตริง ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItemที่สิ้นสุดก่อนมิลลิวินาทีที่ระบุในรูปแบบ ISO 8601 -
ข้อผิดพลาด
InterruptReason ไม่บังคับ
สาเหตุที่การดาวน์โหลดถูกขัดจังหวะ
-
มีอยู่
บูลีน ไม่บังคับ
ไฟล์ที่ดาวน์โหลดมีอยู่หรือไม่
-
fileSize
number ไม่บังคับ
จำนวนไบต์ในไฟล์ทั้งหมดหลังการคลายการบีบอัด หรือ -1 หากไม่ทราบ
-
ชื่อไฟล์
สตริง ไม่บังคับ
Absolute Local Path
-
filenameRegex
สตริง ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItemที่มีfilenameตรงกับนิพจน์ทั่วไปที่ระบุ -
finalUrl
สตริง ไม่บังคับ
Chrome 54 ขึ้นไป browser.* ตั้งแต่ Chrome 148Absolute URL ที่ใช้ในการดาวน์โหลดนี้ หลังจากที่มีการเปลี่ยนเส้นทางทั้งหมด
-
finalUrlRegex
สตริง ไม่บังคับ
Chrome 54 ขึ้นไป browser.* ตั้งแต่ Chrome 148จำกัดผลลัพธ์ไว้ที่
DownloadItemที่มีfinalUrlตรงกับนิพจน์ทั่วไปที่ระบุ -
id
number ไม่บังคับ
idของDownloadItemที่จะค้นหา -
ขีดจำกัด
number ไม่บังคับ
จำนวนสูงสุดของ
DownloadItemที่ตรงกันที่แสดงผล ค่าเริ่มต้นคือ 1000 ตั้งค่าเป็น 0 เพื่อแสดงผลDownloadItemที่ตรงกันทั้งหมด ดูวิธีไปยังหน้าต่างๆ ของผลลัพธ์ได้ที่search -
mime
สตริง ไม่บังคับ
ประเภท MIME ของไฟล์
-
orderBy
string[] ไม่บังคับ
ตั้งค่าองค์ประกอบของอาร์เรย์นี้เป็นพร็อพเพอร์ตี้
DownloadItemเพื่อจัดเรียงผลการค้นหา เช่น การตั้งค่าorderBy=['startTime']จะจัดเรียงDownloadItemตามเวลาเริ่มต้นจากน้อยไปมาก หากต้องการระบุลำดับจากมากไปน้อย ให้ใส่เครื่องหมายขีดกลาง "-startTime" ไว้ข้างหน้า -
หยุดชั่วคราว
บูลีน ไม่บังคับ
True หากการดาวน์โหลดหยุดอ่านข้อมูลจากโฮสต์ แต่ยังคงเปิดการเชื่อมต่อไว้
-
query
string[] ไม่บังคับ
อาร์เรย์ของข้อความค้นหานี้จะจำกัดผลการค้นหาไว้ที่
DownloadItemซึ่งfilenameหรือurlหรือfinalUrlมีข้อความค้นหาทั้งหมดที่ไม่ได้ขึ้นต้นด้วยขีดกลาง "-" และไม่มีข้อความค้นหาที่ขึ้นต้นด้วยขีดกลาง -
startTime
สตริง ไม่บังคับ
เวลาที่เริ่มดาวน์โหลดในรูปแบบ ISO 8601
-
startedAfter
สตริง ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItemที่เริ่มต้นหลังจากมิลลิวินาทีที่ระบุในรูปแบบ ISO 8601 -
startedBefore
สตริง ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItemที่เริ่มต้นก่อนมิลลิวินาทีที่ระบุในรูปแบบ ISO 8601 -
รัฐ
State ไม่บังคับ
ระบุว่าการดาวน์โหลดกำลังดำเนินอยู่ ถูกขัดจังหวะ หรือเสร็จสมบูรณ์แล้ว
-
totalBytes
number ไม่บังคับ
จำนวนไบต์ในทั้งไฟล์ โดยไม่พิจารณาการบีบอัดไฟล์ หรือ -1 หากไม่ทราบ
-
totalBytesGreater
number ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItemที่มีtotalBytesมากกว่าจำนวนเต็มที่ระบุ -
totalBytesLess
number ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItemที่มีtotalBytesน้อยกว่าจำนวนเต็มที่ระบุ -
URL
สตริง ไม่บังคับ
Absolute URL ที่เริ่มการดาวน์โหลดนี้ก่อนการเปลี่ยนเส้นทาง
-
urlRegex
สตริง ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItemที่มีurlตรงกับนิพจน์ทั่วไปที่ระบุ
FilenameConflictAction
uniquify
ระบบจะเปลี่ยน filename ให้มีตัวนับก่อนนามสกุลไฟล์เพื่อหลีกเลี่ยงการซ้ำกัน
เขียนทับ
ระบบจะเขียนทับไฟล์ที่มีอยู่ด้วยไฟล์ใหม่
พรอมต์
ระบบจะแสดงกล่องโต้ตอบเครื่องมือเลือกไฟล์ให้ผู้ใช้เห็น
ค่าแจกแจง
"uniquify"
"overwrite"
"prompt"
FilenameSuggestion
พร็อพเพอร์ตี้
-
conflictAction
FilenameConflictAction ไม่บังคับ
การดำเนินการที่ต้องทำหากมี
filenameอยู่แล้ว -
ชื่อไฟล์
สตริง
เป้าหมายใหม่
DownloadItem.filenameของDownloadItemเป็นเส้นทางที่สัมพันธ์กับไดเรกทอรีการดาวน์โหลดเริ่มต้นของผู้ใช้ ซึ่งอาจมีไดเรกทอรีย่อย ระบบจะไม่สนใจ Absolute Path, เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงย้อนกลับ ".." ระบบจะละเว้นfilenameหากมี ListeneronDeterminingFilenameที่ลงทะเบียนโดยส่วนขยายใดๆ
GetFileIconOptions
พร็อพเพอร์ตี้
-
ขนาด
number ไม่บังคับ
ขนาดของไอคอนที่แสดงผลในหน่วยความหนาแน่นของพิกเซลอิสระ (DIP) ต้องเป็น 16 หรือ 32 (ค่าเริ่มต้นคือ 32) ในจอแสดงผลที่มี DPI สูง รูปภาพที่แสดงผลจะปรับขนาดตามค่าตัวคูณมาตราส่วนของอุปกรณ์ (เช่น 64x64 พิกเซลสำหรับขนาด 32 บนจอแสดงผล 2 เท่า) การเรียกจาก Service Worker ที่ทำงานอยู่เบื้องหลังจะมีค่าเริ่มต้นเป็นสเกล 1 เท่า
HeaderNameValuePair
พร็อพเพอร์ตี้
-
name
สตริง
ชื่อของส่วนหัว HTTP
-
value
สตริง
ค่าของส่วนหัว HTTP
HttpMethod
ค่าแจกแจง
"GET"
"POST"
InterruptReason
ค่าแจกแจง
"FILE_FAILED"
"FILE_ACCESS_DENIED"
"FILE_NO_SPACE"
"FILE_NAME_TOO_LONG"
"FILE_TOO_LARGE"
"FILE_VIRUS_INFECTED"
"FILE_TRANSIENT_ERROR"
"FILE_BLOCKED"
"FILE_SECURITY_CHECK_FAILED"
"FILE_TOO_SHORT"
"FILE_HASH_MISMATCH"
"FILE_SAME_AS_SOURCE"
"NETWORK_FAILED"
"NETWORK_TIMEOUT"
"NETWORK_DISCONNECTED"
"NETWORK_SERVER_DOWN"
"NETWORK_INVALID_REQUEST"
"SERVER_FAILED"
"SERVER_NO_RANGE"
"SERVER_BAD_CONTENT"
"SERVER_UNAUTHORIZED"
"SERVER_CERT_PROBLEM"
"SERVER_FORBIDDEN"
"SERVER_UNREACHABLE"
"SERVER_CONTENT_LENGTH_MISMATCH"
"SERVER_CROSS_ORIGIN_REDIRECT"
"USER_CANCELED"
"USER_SHUTDOWN"
"CRASH"
State
in_progress
การดาวน์โหลดกำลังรับข้อมูลจากเซิร์ฟเวอร์
ถูกขัดจังหวะ
เกิดข้อผิดพลาดที่ทำให้การเชื่อมต่อกับโฮสต์ไฟล์ขาดหายไป
เสร็จสมบูรณ์
ดาวน์โหลดเสร็จสมบูรณ์แล้ว
ค่าแจกแจง
"in_progress"
"interrupted"
"complete"
StringDelta
พร็อพเพอร์ตี้
-
current
สตริง ไม่บังคับ
-
ก่อนหน้า
สตริง ไม่บังคับ
UiOptions
พร็อพเพอร์ตี้
-
เปิดอยู่
บูลีน
เปิดหรือปิดใช้ UI การดาวน์โหลด
เมธอด
acceptDanger()
browser.downloads.acceptDanger(
downloadId: number,
): Promise<void>
แจ้งให้ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตราย เรียกได้จากบริบทที่มองเห็นได้เท่านั้น (แท็บ หน้าต่าง หรือป๊อปอัปการดำเนินการของหน้าเว็บ/เบราว์เซอร์) ไม่ยอมรับการดาวน์โหลดที่เป็นอันตรายโดยอัตโนมัติ หากยอมรับการดาวน์โหลด เหตุการณ์ onChanged จะเริ่มทำงาน ไม่เช่นนั้นจะไม่มีอะไรเกิดขึ้น เมื่อดึงข้อมูลทั้งหมดลงในไฟล์ชั่วคราวแล้ว และการดาวน์โหลดไม่เป็นอันตรายหรือยอมรับอันตรายแล้ว ระบบจะเปลี่ยนชื่อไฟล์ชั่วคราวเป็นชื่อไฟล์เป้าหมาย state จะเปลี่ยนเป็น "เสร็จสมบูรณ์" และ onChanged จะเริ่มทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับ
DownloadItem
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อกล่องโต้ตอบข้อความแจ้งอันตรายปิดลง
cancel()
browser.downloads.cancel(
downloadId: number,
): Promise<void>
ยกเลิกการดาวน์โหลด เมื่อเรียกใช้ callback การดาวน์โหลดจะถูกยกเลิก เสร็จสมบูรณ์ ถูกขัดจังหวะ หรือไม่มีอยู่อีกต่อไป
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่ต้องการยกเลิก
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อคำขอยกเลิกเสร็จสมบูรณ์
download()
browser.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 ขึ้นไป browser.* ตั้งแต่ Chrome 148แสดงผล Promise ซึ่งจะแก้ไขด้วยรหัสของ
DownloadItemใหม่
erase()
browser.downloads.erase(
query: DownloadQuery,
): Promise<number[]>
ลบ DownloadItem ที่ตรงกันออกจากประวัติโดยไม่ลบไฟล์ที่ดาวน์โหลด เหตุการณ์ onErased จะเริ่มทำงานสำหรับ DownloadItem แต่ละรายการที่ตรงกับ query จากนั้นระบบจะเรียกใช้ callback
พารามิเตอร์
-
query
การคืนสินค้า
-
Promise<number[]>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148
getFileIcon()
browser.downloads.getFileIcon(
downloadId: number,
options?: GetFileIconOptions,
): Promise<string | undefined>
ดึงข้อมูลไอคอนสำหรับการดาวน์โหลดที่ระบุ สำหรับการดาวน์โหลดใหม่ ไอคอนไฟล์จะพร้อมใช้งานหลังจากกำหนดชื่อไฟล์เป้าหมายของการดาวน์โหลดแล้ว (เช่น เมื่อ onChanged เริ่มทำงานด้วยการเปลี่ยนแปลง filename) การพยายามดึงข้อมูลไอคอนก่อนที่จะกำหนดชื่อไฟล์จะทำให้เกิดข้อผิดพลาดผ่าน runtime.lastError รูปภาพที่ฟังก์ชันนี้แสดงผลขณะที่กำลังดาวน์โหลดอาจแตกต่างจากรูปภาพที่แสดงผลหลังจากดาวน์โหลดเสร็จสมบูรณ์แล้ว การดึงข้อมูลไอคอนจะดำเนินการโดยการค้นหาระบบปฏิบัติการหรือชุดเครื่องมือที่เกี่ยวข้อง ทั้งนี้ขึ้นอยู่กับแพลตฟอร์ม ดังนั้น ไอคอนที่แสดงผลจะขึ้นอยู่กับปัจจัยหลายอย่าง เช่น สถานะการดาวน์โหลด แพลตฟอร์ม ประเภทไฟล์ที่ลงทะเบียน และธีมภาพ หากระบุไอคอนไฟล์ไม่ได้ runtime.lastError จะมีข้อความแสดงข้อผิดพลาด
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับการดาวน์โหลด
-
ตัวเลือก
GetFileIconOptions ไม่บังคับ
การคืนสินค้า
-
Promise<string | undefined>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148แสดงผล Promise ซึ่งจะแสดงผลเป็น URL ของรูปภาพที่แสดงถึงการดาวน์โหลด
open()
browser.downloads.open(
downloadId: number,
): Promise<void>
เปิดไฟล์ที่ดาวน์โหลดทันทีหาก DownloadItem เสร็จสมบูรณ์ ไม่เช่นนั้นจะแสดงข้อผิดพลาดผ่าน runtime.lastError วิธีนี้ต้องใช้สิทธิ์ "downloads.open" นอกเหนือจากสิทธิ์ "downloads" เหตุการณ์ onChanged จะเริ่มทำงานเมื่อมีการเปิดรายการเป็นครั้งแรก เมธอดนี้จะเรียกใช้ได้ก็ต่อเมื่อมีการตอบสนองต่อท่าทางผู้ใช้เท่านั้น
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับไฟล์ที่ดาวน์โหลด
การคืนสินค้า
-
Promise<void>
Chrome 123 ขึ้นไป browser.* ตั้งแต่ Chrome 148
pause()
browser.downloads.pause(
downloadId: number,
): Promise<void>
หยุดการดาวน์โหลดชั่วคราว หากคำขอสำเร็จ การดาวน์โหลดจะอยู่ในสถานะหยุดชั่วคราว มิฉะนั้น runtime.lastError จะมีข้อความแสดงข้อผิดพลาด คำขอจะดำเนินการไม่สำเร็จหากการดาวน์โหลดไม่ทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะหยุดชั่วคราว
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อคำขอหยุดชั่วคราวเสร็จสมบูรณ์
removeFile()
browser.downloads.removeFile(
downloadId: number,
): Promise<void>
นำไฟล์ที่ดาวน์โหลดออกหากมีอยู่และ DownloadItem เสร็จสมบูรณ์ ไม่เช่นนั้นให้แสดงข้อผิดพลาดผ่าน runtime.lastError
พารามิเตอร์
-
downloadId
ตัวเลข
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148
resume()
browser.downloads.resume(
downloadId: number,
): Promise<void>
ดาวน์โหลดต่อจากที่หยุดชั่วคราวไว้ หากคำขอสำเร็จ ระบบจะดาวน์โหลดต่อและกลับมาทำงานอีกครั้ง มิฉะนั้น runtime.lastError จะมีข้อความแสดงข้อผิดพลาด คำขอจะดำเนินการไม่สำเร็จหากการดาวน์โหลดไม่ทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะกลับมาดำเนินการต่อ
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อคำขอให้กลับมาทำงานอีกครั้งเสร็จสมบูรณ์
search()
browser.downloads.search(
query: DownloadQuery,
): Promise<DownloadItem[]>
ค้นหา DownloadItem ตั้งค่า query เป็นออบเจ็กต์ที่ว่างเปล่าเพื่อรับ DownloadItem ทั้งหมด หากต้องการรับ DownloadItem ที่เฉพาะเจาะจง ให้ตั้งค่าเฉพาะช่อง id หากต้องการแบ่งหน้าผ่านรายการจำนวนมาก ให้ตั้งค่า orderBy: ['-startTime'], ตั้งค่า limit เป็นจำนวนรายการต่อหน้า และตั้งค่า startedAfter เป็น startTime ของรายการสุดท้ายจากหน้าสุดท้าย
พารามิเตอร์
-
query
การคืนสินค้า
-
Promise<DownloadItem[]>
Chrome 96 ขึ้นไป browser.* ตั้งแต่ Chrome 148
setShelfEnabled()
browser.downloads.setShelfEnabled(
enabled: boolean,
): void
โปรดใช้ setUiOptions แทน
เปิดหรือปิดใช้แถบสีเทาที่ด้านล่างของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ระบบจะปิดใช้ชั้นวางตราบใดที่ส่วนขยายอย่างน้อย 1 รายการปิดใช้ชั้นวาง การเปิดใช้แถบในขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้อยู่จะแสดงข้อผิดพลาดผ่าน runtime.lastError ต้องมีสิทธิ์ "downloads.shelf" นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
เปิดอยู่
บูลีน
setUiOptions()
browser.downloads.setUiOptions(
options: UiOptions,
): Promise<void>
เปลี่ยน UI การดาวน์โหลดของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ตราบใดที่มีส่วนขยายอย่างน้อย 1 รายการตั้งค่า UiOptions.enabled เป็นเท็จ UI การดาวน์โหลดจะถูกซ่อนไว้ การตั้งค่า UiOptions.enabled เป็น "จริง" ขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้จะแสดงข้อผิดพลาดผ่าน runtime.lastError ต้องมีสิทธิ์ "downloads.ui" นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
ตัวเลือก
สรุปการเปลี่ยนแปลง UI การดาวน์โหลด
การคืนสินค้า
-
Promise<void>
แสดงผล Promise ซึ่งจะได้รับการแก้ไขเมื่อการอัปเดต UI เสร็จสมบูรณ์
show()
browser.downloads.show(
downloadId: number,
): void
แสดงไฟล์ที่ดาวน์โหลดในโฟลเดอร์ของไฟล์นั้นในโปรแกรมจัดการไฟล์
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับไฟล์ที่ดาวน์โหลด
showDefaultFolder()
browser.downloads.showDefaultFolder(): void
แสดงโฟลเดอร์ดาวน์โหลดเริ่มต้นในโปรแกรมจัดการไฟล์
กิจกรรม
onChanged
browser.downloads.onChanged.addListener(
callback: function,
)
เมื่อพร็อพเพอร์ตี้ใดๆ ของ DownloadItem ยกเว้น bytesReceived และ estimatedEndTime มีการเปลี่ยนแปลง เหตุการณ์นี้จะเริ่มทำงานพร้อมกับ downloadId และออบเจ็กต์ที่มีพร็อพเพอร์ตี้ที่เปลี่ยนแปลง
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(downloadDelta: DownloadDelta) => void
-
downloadDelta
-
onCreated
browser.downloads.onCreated.addListener(
callback: function,
)
เหตุการณ์นี้จะเริ่มทำงานด้วยออบเจ็กต์ DownloadItem เมื่อการดาวน์โหลดเริ่มต้นขึ้น
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(downloadItem: DownloadItem) => void
-
downloadItem
-
onDeterminingFilename
browser.downloads.onDeterminingFilename.addListener(
callback: function,
)
ในระหว่างกระบวนการกำหนดชื่อไฟล์ ส่วนขยายจะมีโอกาสลบล้าง DownloadItem.filename เป้าหมาย ส่วนขยายแต่ละรายการจะลงทะเบียน Listener สำหรับเหตุการณ์นี้ได้ไม่เกิน 1 รายการ Listener แต่ละรายการต้องเรียกใช้ suggest เพียงครั้งเดียว ไม่ว่าจะเป็นแบบซิงโครนัสหรืออะซิงโครนัส หาก Listener เรียก suggest แบบอะซิงโครนัส ก็จะต้องแสดงผล true หาก Listener ไม่เรียกใช้ suggest แบบซิงโครนัสหรือไม่แสดงผล true ระบบจะเรียกใช้ suggest โดยอัตโนมัติ DownloadItem จะไม่เสร็จสมบูรณ์จนกว่า Listener ทั้งหมดจะเรียกใช้ suggest Listener อาจเรียกใช้ suggest โดยไม่มีอาร์กิวเมนต์ใดๆ เพื่ออนุญาตให้การดาวน์โหลดใช้ downloadItem.filename เป็นชื่อไฟล์ หรือส่งออบเจ็กต์ suggestion ไปยัง suggest เพื่อลบล้างชื่อไฟล์เป้าหมาย หากมีส่วนขยายมากกว่า 1 รายการที่ลบล้างชื่อไฟล์ ส่วนขยายที่ติดตั้งล่าสุดซึ่งมี Listener ที่ส่งออบเจ็กต์ suggestion ไปยัง suggest จะเป็นส่วนขยายที่ทำงาน ผู้ใช้ไม่ควรติดตั้งส่วนขยายที่อาจขัดแย้งกันเพื่อหลีกเลี่ยงความสับสนว่าส่วนขยายใดจะทำงาน หากการดาวน์โหลดเริ่มต้นโดย download และทราบชื่อไฟล์เป้าหมายก่อนที่จะกำหนดประเภท MIME และชื่อไฟล์ชั่วคราว ให้ส่ง filename ไปยัง download แทน
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(downloadItem: DownloadItem, suggest: function) => void
-
downloadItem
-
แนะนำ
ฟังก์ชัน
พารามิเตอร์
suggestจะมีลักษณะดังนี้(suggestion?: FilenameSuggestion) => void
-
คำแนะนำ
FilenameSuggestion ไม่บังคับ
-
-
onErased
browser.downloads.onErased.addListener(
callback: function,
)
เริ่มทำงานด้วย downloadId เมื่อระบบลบการดาวน์โหลดออกจากประวัติ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(downloadId: number) => void
-
downloadId
ตัวเลข
-