คำอธิบาย
ใช้ 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"
"เนื้อหา"
"uncommon"
"โฮสต์"
"ไม่พึงประสงค์"
"safe"
"ยอมรับแล้ว"
"allowlistedByPolicy"
"asyncScanning"
"asyncLocalPasswordScanning"
"passwordProtected"
"blockedTooLarge"
"sensitiveContentWARNING"
"sensitiveContentBlock"
"deepScannedFailed"
"deepScannedSafe"
"deepS suggestedOpenedAdult"
"promptForScanning"
"promptForLocalPasswordScanning"
"accountCompromise"
"blockedScanFailed"
DoubleDelta
พร็อพเพอร์ตี้
-
current
หมายเลข ไม่บังคับ
-
ก่อนหน้า
หมายเลข ไม่บังคับ
DownloadDelta
พร็อพเพอร์ตี้
-
canResume
BooleanDelta ไม่บังคับ
การเปลี่ยนแปลงใน
canResume
หากมี -
อันตราย
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
danger
หากมี -
endTime
StringDelta ไม่บังคับ
การเปลี่ยนแปลงใน
endTime
หากมี -
ข้อผิดพลาด
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
หากมี -
รัฐ
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))})})
-
ข้อผิดพลาด
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 หากไม่ทราบ
-
ชื่อไฟล์
สตริง
เส้นทางภายในแบบสัมบูรณ์
-
finalUrl
สตริง
Chrome 54 ขึ้นไปURL ที่สมบูรณ์ที่เป็นต้นทางของการดาวน์โหลดนี้ หลังจากมีการเปลี่ยนเส้นทางทั้งหมด
-
id
ตัวเลข
ตัวระบุที่จะคงอยู่ตลอดเซสชันของเบราว์เซอร์
-
ไม่ระบุตัวตน
boolean
เท็จ หากระบบไม่ได้บันทึกการดาวน์โหลดนี้ในประวัติ จะเป็นจริงหากไม่ได้บันทึก
-
mime
สตริง
ประเภท MIME ของไฟล์
-
หยุดชั่วคราว
boolean
เป็นจริงหากการดาวน์โหลดหยุดอ่านข้อมูลจากโฮสต์ แต่เปิดการเชื่อมต่อไว้
-
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
พร็อพเพอร์ตี้
-
เนื้อความ
string ไม่บังคับ
เนื้อหาของโพสต์
-
conflictAction
FilenameConflictAction ไม่บังคับ
การดำเนินการที่ต้องทำหากมี
filename
อยู่แล้ว -
ชื่อไฟล์
string ไม่บังคับ
เส้นทางไฟล์ที่สัมพันธ์กับไดเรกทอรีดาวน์โหลดเพื่อเก็บไฟล์ที่ดาวน์โหลด ซึ่งอาจมีไดเรกทอรีย่อย เส้นทางสัมบูรณ์ เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงกลับ ".." จะทำให้เกิดข้อผิดพลาด
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
string ไม่บังคับ
เวลาที่การดาวน์โหลดสิ้นสุดในรูปแบบ ISO 8601
-
endedAfter
string ไม่บังคับ
จำกัดผลลัพธ์เฉพาะ
DownloadItem
ที่สิ้นสุดหลังจาก ms ที่ระบุในรูปแบบ ISO 8601 -
endedBefore
string ไม่บังคับ
จำกัดผลลัพธ์เฉพาะ
DownloadItem
ที่สิ้นสุดก่อน ms ที่ระบุในรูปแบบ ISO 8601 -
ข้อผิดพลาด
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
ที่เริ่มต้นหลังจาก ms ที่ระบุในรูปแบบ ISO 8601 -
startedBefore
string ไม่บังคับ
จำกัดผลลัพธ์ไว้ที่
DownloadItem
ที่เริ่มต้นก่อน ms ที่ระบุในรูปแบบ ISO 8601 -
รัฐ
รัฐ ไม่บังคับ
ระบุว่าการดาวน์โหลดกำลังดำเนินอยู่ หยุดชะงัก หรือเสร็จสมบูรณ์แล้ว
-
totalBytes
หมายเลข ไม่บังคับ
จำนวนไบต์ของทั้งไฟล์ โดยไม่พิจารณาการบีบอัดไฟล์ หรือ -1 หากไม่ทราบ
-
totalBytesGreater
หมายเลข ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่totalBytes
มากกว่าจำนวนเต็มที่ระบุ -
totalBytesLess
หมายเลข ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ที่totalBytes
น้อยกว่าจำนวนเต็มที่ระบุ -
URL
string ไม่บังคับ
URL ที่สมบูรณ์ที่เป็นต้นทางของการดาวน์โหลดนี้ ก่อนที่จะมีการเปลี่ยนเส้นทาง
-
urlRegex
string ไม่บังคับ
จำกัดผลลัพธ์เป็น
DownloadItem
ซึ่งมีurl
ตรงกับนิพจน์ทั่วไปที่ระบุ
FilenameConflictAction
เท่ากัน
ระบบได้เปลี่ยน filename
ให้รวมตัวนับหน้าส่วนขยายชื่อไฟล์เพื่อหลีกเลี่ยงการทำซ้ำ
เขียนทับ
ระบบจะเขียนทับไฟล์ที่มีอยู่ด้วยไฟล์ใหม่
ข้อความแจ้ง
ผู้ใช้จะได้รับข้อความแจ้งพร้อมกล่องโต้ตอบตัวเลือกไฟล์
ค่าแจกแจง
"uniquify"
"เขียนทับ"
"พรอมต์"
FilenameSuggestion
พร็อพเพอร์ตี้
-
conflictAction
FilenameConflictAction ไม่บังคับ
การดำเนินการที่ต้องทำหากมี
filename
อยู่แล้ว -
ชื่อไฟล์
สตริง
เป้าหมายใหม่
DownloadItem.filename
ของDownloadItem
เป็นเส้นทางที่สัมพันธ์กับไดเรกทอรีการดาวน์โหลดเริ่มต้นของผู้ใช้ ซึ่งอาจมีไดเรกทอรีย่อย เส้นทางสัมบูรณ์ เส้นทางที่ว่างเปล่า และเส้นทางที่มีการอ้างอิงกลับ ".." จะถูกละเว้น ระบบจะละเว้นfilename
หากมี Listener ของonDeterminingFilename
ที่ลงทะเบียนโดยส่วนขยายใดๆ
GetFileIconOptions
พร็อพเพอร์ตี้
-
ขนาด
หมายเลข ไม่บังคับ
ขนาดของไอคอนที่แสดงผล ไอคอนจะเป็นสี่เหลี่ยมจัตุรัสที่มีขนาดขนาด * พิกเซลขนาด ขนาดเริ่มต้นและใหญ่ที่สุดสำหรับไอคอนคือ 32x32 พิกเซล ขนาดที่รองรับมีเพียง 16 และ 32 เท่านั้น การระบุขนาดอื่นเป็นข้อผิดพลาด
HeaderNameValuePair
พร็อพเพอร์ตี้
-
ชื่อ
สตริง
ชื่อของส่วนหัว HTTP
-
value
สตริง
ค่าของส่วนหัว HTTP
HttpMethod
ค่าแจกแจง
"GET"
"โพสต์"
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"
"ข้อขัดข้อง"
State
in_progress
ขณะนี้การดาวน์โหลดรับข้อมูลจากเซิร์ฟเวอร์
ถูกขัดจังหวะ
เกิดข้อผิดพลาดทำให้การเชื่อมต่อกับโฮสต์ไฟล์เสียหาย
เสร็จสมบูรณ์
การดาวน์โหลดเสร็จสมบูรณ์แล้ว
ค่าแจกแจง
"in_progress"
"ถูกขัดจังหวะ"
"เสร็จสมบูรณ์"
StringDelta
พร็อพเพอร์ตี้
-
current
string ไม่บังคับ
-
ก่อนหน้า
string ไม่บังคับ
UiOptions
พร็อพเพอร์ตี้
-
เปิดใช้อยู่
boolean
เปิดหรือปิดใช้ UI การดาวน์โหลด
เมธอด
acceptDanger()
chrome.downloads.acceptDanger(
downloadId: number,
callback?: function,
)
แจ้งให้ผู้ใช้ยอมรับการดาวน์โหลดที่เป็นอันตราย สามารถเรียกได้จากบริบทที่มองเห็นได้เท่านั้น (แท็บ หน้าต่าง หรือป๊อปอัปการดำเนินการของหน้าเว็บ/เบราว์เซอร์) ไม่ยอมรับการดาวน์โหลดที่เป็นอันตรายโดยอัตโนมัติ หากระบบยอมรับการดาวน์โหลด เหตุการณ์ onChanged
จะเริ่มทำงาน มิเช่นนั้นจะไม่มีอะไรเกิดขึ้น เมื่อมีการดึงข้อมูลทั้งหมดไปยังไฟล์ชั่วคราวและการดาวน์โหลดไม่เป็นอันตรายหรือยอมรับอันตรายแล้ว ระบบจะเปลี่ยนชื่อไฟล์ชั่วคราวเป็นชื่อไฟล์เป้าหมาย, state
เปลี่ยนเป็น "เสร็จสมบูรณ์" และ onChanged
จะเริ่มทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุสำหรับ
DownloadItem
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
cancel()
chrome.downloads.cancel(
downloadId: number,
callback?: function,
)
ยกเลิกการดาวน์โหลด เมื่อ callback
ทำงาน การดาวน์โหลดจะถูกยกเลิก เสร็จสมบูรณ์ ถูกขัดจังหวะ หรือไม่มีอยู่ในอีกต่อไป
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะยกเลิก
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
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
ตัวเลข
-
การคืนสินค้า
-
Promise<number>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
erase()
chrome.downloads.erase(
query: DownloadQuery,
callback?: function,
)
ลบ DownloadItem
ที่ตรงกันออกจากประวัติโดยไม่ลบไฟล์ที่ดาวน์โหลด เหตุการณ์ onErased
จะเริ่มทำงานสำหรับแต่ละ DownloadItem
ที่ตรงกับ query
จากนั้นระบบจะเรียกใช้ callback
พารามิเตอร์
-
query
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(erasedIds: number[]) => void
-
erasedIds
ตัวเลข[]
-
การคืนสินค้า
-
คำสัญญา<จำนวน[]>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
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 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
open()
chrome.downloads.open(
downloadId: number,
callback?: function,
)
เปิดไฟล์ที่ดาวน์โหลดหากไฟล์ DownloadItem
เสร็จสมบูรณ์ ไม่เช่นนั้น จะแสดงผลข้อผิดพลาดผ่าน runtime.lastError
วิธีนี้ต้องใช้สิทธิ์ "downloads.open"
นอกเหนือจากสิทธิ์ "downloads"
เหตุการณ์ onChanged
จะเริ่มทำงานเมื่อเปิดรายการเป็นครั้งแรก เรียกวิธีนี้ได้ตามท่าทางสัมผัสของผู้ใช้เท่านั้น
พารามิเตอร์
-
downloadId
ตัวเลข
ตัวระบุของไฟล์ที่ดาวน์โหลด
-
Callback
ไม่บังคับ
Chrome 123 ขึ้นไปพารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
Chrome 123 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
pause()
chrome.downloads.pause(
downloadId: number,
callback?: function,
)
หยุดการดาวน์โหลดชั่วคราว หากคำขอประสบความสำเร็จ การดาวน์โหลดจะอยู่ในสถานะหยุดชั่วคราว มิฉะนั้น runtime.lastError
จะมีข้อความแสดงข้อผิดพลาด คำขอจะล้มเหลวหากการดาวน์โหลดไม่ทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดที่จะหยุดชั่วคราว
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
removeFile()
chrome.downloads.removeFile(
downloadId: number,
callback?: function,
)
นำไฟล์ที่ดาวน์โหลดออก หากมีอยู่และ DownloadItem
เสร็จสมบูรณ์แล้ว ไม่เช่นนั้นจะแสดงข้อผิดพลาดผ่าน runtime.lastError
พารามิเตอร์
-
downloadId
ตัวเลข
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
resume()
chrome.downloads.resume(
downloadId: number,
callback?: function,
)
ดาวน์โหลดที่หยุดชั่วคราวต่อ หากคำขอเสร็จสมบูรณ์ แสดงว่าอยู่ระหว่างการดาวน์โหลดและยกเลิกการหยุดชั่วคราว มิฉะนั้น runtime.lastError
จะมีข้อความแสดงข้อผิดพลาด คำขอจะล้มเหลวหากการดาวน์โหลดไม่ทำงาน
พารามิเตอร์
-
downloadId
ตัวเลข
รหัสของการดาวน์โหลดเพื่อดำเนินการต่อ
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
search()
chrome.downloads.search(
query: DownloadQuery,
callback?: function,
)
ค้นหา DownloadItem
ตั้งค่า query
เป็นออบเจ็กต์ว่างเปล่าเพื่อรับ DownloadItem
ทั้งหมด หากต้องการรับ DownloadItem
ที่ต้องการ ให้ตั้งค่าเฉพาะช่อง id
หากต้องการเลื่อนดูรายการต่างๆ จำนวนมาก ให้ตั้งค่า orderBy: ['-startTime']
, ตั้งค่า limit
เป็นจำนวนรายการต่อหน้า และตั้งค่า startedAfter
เป็น startTime
ของรายการสุดท้ายจากหน้าสุดท้าย
พารามิเตอร์
-
query
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(results: DownloadItem[]) => void
-
ผลลัพธ์
-
การคืนสินค้า
-
Promise<DownloadItem[]>
Chrome 96 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
setShelfEnabled()
chrome.downloads.setShelfEnabled(
enabled: boolean,
)
โปรดใช้ setUiOptions
แทน
เปิดหรือปิดใช้งานชั้นวางสีเทาที่ด้านล่างของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ระบบจะปิดใช้ชั้นวางตราบใดที่ส่วนขยายอย่างน้อย 1 รายการปิดใช้ การเปิดใช้ชั้นวางในขณะที่ส่วนขยายอื่นอีกอย่างน้อย 1 รายการปิดใช้จะทำให้ระบบแสดงข้อผิดพลาดผ่าน runtime.lastError
ต้องมีสิทธิ์ "downloads.shelf"
นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
เปิดใช้อยู่
boolean
setUiOptions()
chrome.downloads.setUiOptions(
options: UiOptions,
callback?: function,
)
เปลี่ยน UI การดาวน์โหลดของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ตราบใดที่ส่วนขยายอย่างน้อย 1 รายการตั้งค่า UiOptions.enabled
เป็น "เท็จ" ระบบจะซ่อน UI การดาวน์โหลด การตั้งค่า UiOptions.enabled
เป็น "จริง" ขณะที่ส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้จะแสดงข้อผิดพลาดผ่าน runtime.lastError
ต้องมีสิทธิ์ "downloads.ui"
นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
ตัวเลือก
สรุปการเปลี่ยนแปลง UI การดาวน์โหลด
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
คำมั่นสัญญา<โมฆะ>
รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
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
-
downloadDelta
-
onCreated
chrome.downloads.onCreated.addListener(
callback: function,
)
เหตุการณ์นี้จะเริ่มทำงานด้วยออบเจ็กต์ DownloadItem
เมื่อการดาวน์โหลดเริ่มต้นขึ้น
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(downloadItem: DownloadItem) => void
-
downloadItem
-
onDeterminingFilename
chrome.downloads.onDeterminingFilename.addListener(
callback: function,
)
ในระหว่างขั้นตอนการกำหนดชื่อไฟล์ ส่วนขยายจะได้รับโอกาสลบล้างเป้าหมาย DownloadItem.filename
ส่วนขยายแต่ละรายการไม่สามารถลงทะเบียน Listener มากกว่า 1 รายสำหรับกิจกรรมนี้ ผู้ฟังแต่ละคนต้องเรียก suggest
เพียงครั้งเดียว ทั้งแบบซิงโครนัสหรือแบบไม่พร้อมกัน หากผู้ฟังเรียก suggest
แบบไม่พร้อมกัน ผู้ฟังจะต้องแสดงผล true
หากผู้ฟังไม่เรียก 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
-
คำแนะนำ
FilenameSuggestion ไม่บังคับ
-
-
onErased
chrome.downloads.onErased.addListener(
callback: function,
)
เริ่มทำงานด้วย downloadId
เมื่อลบการดาวน์โหลดออกจากประวัติ
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(downloadId: number) => void
-
downloadId
ตัวเลข
-