คำอธิบาย
ใช้ 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))})})
-
state
ระบุว่าการดาวน์โหลดอยู่ระหว่างดำเนินการ ถูกขัดจังหวะ หรือเสร็จสมบูรณ์
-
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
หากมี ListeneronDeterminingFilename
ที่ลงทะเบียนโดยส่วนขยายใดๆ
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
พร็อพเพอร์ตี้
-
เปิดใช้อยู่
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
พารามิเตอร์
-
query
-
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 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
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 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
setShelfEnabled()
chrome.downloads.setShelfEnabled(
enabled: boolean,
)
โปรดใช้ setUiOptions
แทน
เปิดหรือปิดใช้งานชั้นวางสีเทาที่ด้านล่างของทุกหน้าต่างที่เชื่อมโยงกับโปรไฟล์เบราว์เซอร์ปัจจุบัน ระบบจะปิดใช้ชั้นวางตราบใดที่ส่วนขยายอย่างน้อย 1 รายการปิดใช้ การเปิดใช้ชั้นวางในขณะที่มีส่วนขยายอื่นอย่างน้อย 1 รายการปิดใช้อยู่ ระบบจะแสดงข้อผิดพลาดผ่านทาง runtime.lastError
ต้องมีสิทธิ์ "downloads.shelf"
นอกเหนือจากสิทธิ์ "downloads"
พารามิเตอร์
-
เปิดใช้อยู่
boolean
setUiOptions()
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
-
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
เพียงครั้งเดียว อาจเป็นแบบซิงโครนัสหรืออะซิงโครนัส หาก 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
-
คำแนะนำ
FilenameSuggestion ไม่บังคับ
-
-
onErased
chrome.downloads.onErased.addListener(
callback: function,
)
เริ่มทำงานด้วย downloadId
เมื่อการดาวน์โหลดถูกลบออกจากประวัติ
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(downloadId: number) => void
-
downloadId
ตัวเลข
-