คำอธิบาย
ใช้ 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
ตัวเลข
-