설명
chrome.downloads API를 사용하여 프로그래매틱 방식으로 다운로드를 시작, 모니터링, 조작, 검색합니다.
권한
downloads이 API를 사용하려면 확장 프로그램 매니페스트에서 "downloads" 권한을 선언해야 합니다.
{
"name": "My extension",
...
"permissions": [
"downloads"
],
}
예
examples/api/downloads 디렉터리에서 browser.downloads API를 사용하는 간단한 예를 확인할 수 있습니다. 다른 예시와 소스 코드 보기에 관한 도움말은 샘플을 참고하세요.
유형
BooleanDelta
속성
-
현재
불리언 선택사항
-
이전
불리언 선택사항
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'
보안 엔터프라이즈 브라우저 확장 프로그램에서 사용합니다. 필요한 경우 Chrome은 디스크로의 다운로드를 차단하고 파일을 Google Drive에 직접 다운로드합니다.
'forceSaveToOnedrive'
보안 엔터프라이즈 브라우저 확장 프로그램에서 사용합니다. 필요한 경우 Chrome에서 디스크로의 다운로드를 차단하고 파일을 OneDrive에 직접 다운로드합니다.
DoubleDelta
속성
-
현재
number 선택사항
-
이전
number 선택사항
DownloadDelta
속성
-
canResume
BooleanDelta 선택사항
canResume의 변경사항(있는 경우) -
위험
StringDelta 선택사항
danger의 변경사항(있는 경우) -
endTime
StringDelta 선택사항
endTime의 변경사항(있는 경우) -
오류
StringDelta 선택사항
error의 변경사항(있는 경우) -
존재함
BooleanDelta 선택사항
exists의 변경사항(있는 경우) -
fileSize
DoubleDelta 선택사항
fileSize의 변경사항(있는 경우) -
filename
StringDelta 선택사항
filename의 변경사항(있는 경우) -
finalUrl
StringDelta 선택사항
Chrome 54 이상 브라우저.*(Chrome 148부터)finalUrl의 변경사항(있는 경우) -
id
숫자
변경된
DownloadItem의id입니다. -
마임
StringDelta 선택사항
mime의 변경사항(있는 경우) -
일시중지됨
BooleanDelta 선택사항
paused의 변경사항(있는 경우) -
startTime
StringDelta 선택사항
startTime의 변경사항(있는 경우) -
주
StringDelta 선택사항
state의 변경사항(있는 경우) -
totalBytes
DoubleDelta 선택사항
totalBytes의 변경사항(있는 경우) -
URL
StringDelta 선택사항
url의 변경사항(있는 경우)
DownloadItem
속성
-
byExtensionId
문자열 선택사항
확장 프로그램에서 다운로드를 시작한 경우 이 다운로드를 시작한 확장 프로그램의 식별자입니다. 설정 후에는 변경되지 않습니다.
-
byExtensionName
문자열 선택사항
확장 프로그램에서 다운로드를 시작한 경우 다운로드를 시작한 확장 프로그램의 현지화된 이름입니다. 확장 프로그램의 이름이 변경되거나 사용자가 언어를 변경하는 경우 변경될 수 있습니다.
-
bytesReceived
숫자
파일 압축을 고려하지 않고 지금까지 호스트에서 수신한 바이트 수입니다.
-
canResume
부울
다운로드가 진행 중이고 일시중지된 경우 또는 중단되었으며 중단된 지점부터 다시 시작할 수 있는 경우 true입니다.
-
위험
이 다운로드가 안전하다고 생각되는지 또는 의심스러운 것으로 알려져 있는지 나타냅니다.
-
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()은 필요한 만큼 자주 호출될 수 있지만 파일 존재 여부를 10초에 한 번 이상 확인하지는 않습니다. -
fileSize
숫자
압축 해제 후 전체 파일의 바이트 수입니다. 알 수 없는 경우 -1입니다.
-
filename
문자열
절대 로컬 경로입니다.
-
finalUrl
문자열
Chrome 54 이상 브라우저.*(Chrome 148부터)모든 리디렉션 후 이 다운로드가 이루어지는 절대 URL입니다.
-
id
숫자
브라우저 세션 간에 유지되는 식별자입니다.
-
incognito
부울
이 다운로드가 기록에 기록되면 false이고 기록되지 않으면 true입니다.
-
마임
문자열
파일의 MIME 유형입니다.
-
일시중지됨
부울
다운로드가 호스트에서 데이터 읽기를 중지했지만 연결을 열어둔 경우 true입니다.
-
리퍼러
문자열
절대 URL입니다.
-
startTime
문자열
다운로드가 시작된 시간입니다(ISO 8601 형식). Date 생성자에 직접 전달할 수 있습니다.
chrome.downloads.search({}, function(items){items.forEach(function(item){console.log(new Date(item.startTime))})}) -
주
다운로드가 진행 중인지, 중단되었는지, 완료되었는지를 나타냅니다.
-
totalBytes
숫자
파일 압축을 고려하지 않은 전체 파일의 바이트 수입니다. 알 수 없는 경우 -1입니다.
-
URL
문자열
리디렉션 전 이 다운로드가 시작된 절대 URL입니다.
DownloadOptions
속성
-
본문
문자열 선택사항
게시물 본문입니다.
-
conflictAction
filename이 이미 있는 경우 수행할 작업입니다. -
filename
문자열 선택사항
다운로드한 파일이 포함된 다운로드 디렉터리를 기준으로 하는 파일 경로입니다. 하위 디렉터리가 포함될 수 있습니다. 절대 경로, 빈 경로, 역참조 '..'가 포함된 경로는 오류를 일으킵니다.
onDeterminingFilename를 사용하면 파일의 MIME 유형과 임시 파일 이름이 결정된 후 파일 이름을 추천할 수 있습니다. -
헤더
HeaderNameValuePair[] 선택사항
URL이 HTTP[s] 프로토콜을 사용하는 경우 요청과 함께 전송할 추가 HTTP 헤더입니다. 각 헤더는
name키와value또는binaryValue키를 포함하는 딕셔너리로 표현되며, XMLHttpRequest에서 허용하는 키로 제한됩니다. -
method
HttpMethod 선택사항
URL에서 HTTP[S] 프로토콜을 사용하는 경우 사용할 HTTP 메서드입니다.
-
saveAs
불리언 선택사항
파일 선택기를 사용하여
filename가 설정되었는지 또는 이미 존재하는지와 관계없이 사용자가 파일 이름을 선택할 수 있도록 합니다. -
URL
문자열
다운로드할 URL입니다.
DownloadQuery
속성
-
bytesReceived
number 선택사항
파일 압축을 고려하지 않고 지금까지 호스트에서 수신한 바이트 수입니다.
-
위험
DangerType 선택사항
이 다운로드가 안전하다고 생각되는지 또는 의심스러운 것으로 알려져 있는지 나타냅니다.
-
endTime
문자열 선택사항
다운로드가 종료된 시간입니다(ISO 8601 형식).
-
endedAfter
문자열 선택사항
ISO 8601 형식으로 지정된 밀리초 이후에 종료된
DownloadItem로 결과를 제한합니다. -
endedBefore
문자열 선택사항
ISO 8601 형식의 지정된 밀리초 이전에 종료된
DownloadItem로 결과를 제한합니다. -
오류
InterruptReason 선택사항
다운로드가 중단된 이유입니다.
-
존재함
불리언 선택사항
다운로드한 파일이 있는지 여부
-
fileSize
number 선택사항
압축 해제 후 전체 파일의 바이트 수입니다. 알 수 없는 경우 -1입니다.
-
filename
문자열 선택사항
절대 로컬 경로입니다.
-
filenameRegex
문자열 선택사항
filename가 지정된 정규 표현식과 일치하는DownloadItem로 결과를 제한합니다. -
finalUrl
문자열 선택사항
Chrome 54 이상 브라우저.*(Chrome 148부터)모든 리디렉션 후 이 다운로드가 이루어지는 절대 URL입니다.
-
finalUrlRegex
문자열 선택사항
Chrome 54 이상 브라우저.*(Chrome 148부터)finalUrl가 지정된 정규 표현식과 일치하는DownloadItem로 결과를 제한합니다. -
id
number 선택사항
쿼리할
DownloadItem의id입니다. -
제한
number 선택사항
반환되는 일치하는
DownloadItem의 최대 개수입니다. 기본값은 1000입니다. 일치하는 모든DownloadItem를 반환하려면 0으로 설정합니다. 결과를 페이지 단위로 표시하는 방법은search를 참조하세요. -
마임
문자열 선택사항
파일의 MIME 유형입니다.
-
orderBy
string[] 선택사항
검색 결과를 정렬하려면 이 배열의 요소를
DownloadItem속성으로 설정합니다. 예를 들어orderBy=['startTime']를 설정하면DownloadItem가 시작 시간을 기준으로 오름차순으로 정렬됩니다. 내림차순으로 지정하려면 하이픈을 앞에 붙입니다('-startTime'). -
일시중지됨
불리언 선택사항
다운로드가 호스트에서 데이터 읽기를 중지했지만 연결을 열어둔 경우 true입니다.
-
query
string[] 선택사항
이 검색어 배열은
filename,url또는finalUrl에 대시('-')로 시작하지 않는 모든 검색어가 포함되고 대시로 시작하는 검색어가 포함되지 않은DownloadItem로 결과를 제한합니다. -
startTime
문자열 선택사항
다운로드가 시작된 시간입니다(ISO 8601 형식).
-
startedAfter
문자열 선택사항
ISO 8601 형식의 지정된 밀리초 이후에 시작된
DownloadItem로 결과를 제한합니다. -
startedBefore
문자열 선택사항
ISO 8601 형식의 지정된 밀리초 이전에 시작된
DownloadItem로 결과를 제한합니다. -
주
주 선택사항
다운로드가 진행 중인지, 중단되었는지, 완료되었는지를 나타냅니다.
-
totalBytes
number 선택사항
파일 압축을 고려하지 않은 전체 파일의 바이트 수입니다. 알 수 없는 경우 -1입니다.
-
totalBytesGreater
number 선택사항
totalBytes가 지정된 정수보다 큰DownloadItem로 결과를 제한합니다. -
totalBytesLess
number 선택사항
totalBytes가 지정된 정수보다 작은DownloadItem로 결과를 제한합니다. -
URL
문자열 선택사항
리디렉션 전 이 다운로드가 시작된 절대 URL입니다.
-
urlRegex
문자열 선택사항
url가 지정된 정규 표현식과 일치하는DownloadItem로 결과를 제한합니다.
FilenameConflictAction
uniquify
중복을 방지하기 위해 파일 이름 확장자 앞에 카운터가 포함되도록 filename가 변경됩니다.
덮어쓰기
기존 파일이 새 파일로 덮어쓰기됩니다.
프롬프트
사용자에게 파일 선택기 대화상자가 표시됩니다.
열거형
"uniquify"
"overwrite"
"prompt"
FilenameSuggestion
속성
-
conflictAction
filename이 이미 있는 경우 수행할 작업입니다. -
filename
문자열
DownloadItem의 새 타겟DownloadItem.filename입니다. 사용자의 기본 다운로드 디렉터리를 기준으로 한 상대 경로이며 하위 디렉터리를 포함할 수 있습니다. 절대 경로, 빈 경로, 역참조 '..'가 포함된 경로는 무시됩니다. 확장 프로그램에서 등록한onDeterminingFilename리스너가 있는 경우filename는 무시됩니다.
GetFileIconOptions
속성
-
크기
number 선택사항
반환된 아이콘의 크기(밀도 독립형 픽셀(DIP))입니다. 16 또는 32여야 합니다 (기본값은 32). 높은 DPI 디스플레이에서 반환된 이미지는 기기 배율에 따라 조정됩니다 (예: 2x 디스플레이에서 크기 32의 경우 64x64px). 백그라운드 서비스 워커의 호출은 기본적으로 1배 배율로 설정됩니다.
HeaderNameValuePair
속성
-
이름
문자열
HTTP 헤더의 이름입니다.
-
값
문자열
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
속성
-
현재
문자열 선택사항
-
이전
문자열 선택사항
UiOptions
속성
-
운영중
부울
다운로드 UI를 사용 설정 또는 사용 중지합니다.
메서드
acceptDanger()
browser.downloads.acceptDanger(
downloadId: number,
): Promise<void>
사용자에게 위험한 다운로드를 수락하라는 메시지를 표시합니다. 표시되는 컨텍스트 (탭, 창 또는 페이지/브라우저 작업 팝업)에서만 호출할 수 있습니다. 위험한 다운로드를 자동으로 수락하지 않습니다. 다운로드가 수락되면 onChanged 이벤트가 실행되고, 그렇지 않으면 아무 일도 일어나지 않습니다. 모든 데이터를 임시 파일로 가져오고 다운로드가 위험하지 않거나 위험이 수락되면 임시 파일의 이름이 대상 파일 이름으로 변경되고 state가 '완료'로 변경되며 onChanged가 실행됩니다.
매개변수
-
downloadId
숫자
DownloadItem의 식별자입니다.
반환 값
-
약속<void>
Chrome 96 이상 브라우저.*(Chrome 148부터)위험 프롬프트 대화상자가 닫힐 때 결정되는 프로미스를 반환합니다.
cancel()
browser.downloads.cancel(
downloadId: number,
): Promise<void>
다운로드를 취소합니다. callback가 실행되면 다운로드가 취소되거나 완료되거나 중단되거나 더 이상 존재하지 않습니다.
매개변수
-
downloadId
숫자
취소할 다운로드의 ID입니다.
반환 값
-
약속<void>
Chrome 96 이상 브라우저.*(Chrome 148부터)취소 요청이 완료되면 결정되는 프로미스를 반환합니다.
download()
browser.downloads.download(
options: DownloadOptions,
): Promise<number>
URL을 다운로드합니다. URL이 HTTP[S] 프로토콜을 사용하는 경우 요청에는 현재 호스트 이름에 설정된 모든 쿠키가 포함됩니다. filename 및 saveAs가 모두 지정된 경우 지정된 filename가 자동 입력된 다른 이름으로 저장 대화상자가 표시됩니다. 다운로드가 성공적으로 시작되면 새 DownloadItem의 downloadId를 사용하여 callback가 호출됩니다. 다운로드를 시작하는 중에 오류가 발생하면 callback가 downloadId=undefined와 함께 호출되고 runtime.lastError에 설명 문자열이 포함됩니다. 오류 문자열은 출시 버전 간에 이전 버전과의 호환성이 유지되지 않을 수 있습니다. 확장 프로그램은 이를 파싱해서는 안 됩니다.
매개변수
-
다운로드할 항목과 방법
반환 값
-
<number> 약속
Chrome 96 이상 브라우저.*(Chrome 148부터)새
DownloadItem의 ID로 확인되는 프로미스를 반환합니다.
erase()
browser.downloads.erase(
query: DownloadQuery,
): Promise<number[]>
다운로드한 파일을 삭제하지 않고 기록에서 일치하는 DownloadItem를 삭제합니다. query와 일치하는 각 DownloadItem에 대해 onErased 이벤트가 실행된 후 callback가 호출됩니다.
매개변수
-
query
반환 값
-
약속<number[]>
Chrome 96 이상 브라우저.*(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 이상 브라우저.*(Chrome 148부터)다운로드를 나타내는 이미지의 URL로 확인되는 프로미스를 반환합니다.
open()
browser.downloads.open(
downloadId: number,
): Promise<void>
DownloadItem가 완료되면 다운로드한 파일을 지금 열고, 완료되지 않으면 runtime.lastError를 통해 오류를 반환합니다. 이 메서드에는 "downloads" 권한 외에 "downloads.open" 권한이 필요합니다. 항목을 처음 열면 onChanged 이벤트가 실행됩니다. 이 메서드는 사용자 동작에 대한 응답으로만 호출할 수 있습니다.
매개변수
-
downloadId
숫자
다운로드한 파일의 식별자입니다.
반환 값
-
약속<void>
Chrome 123 이상 Chrome 148 이후 브라우저.*
pause()
browser.downloads.pause(
downloadId: number,
): Promise<void>
다운로드를 일시중지합니다. 요청이 성공하면 다운로드가 일시중지 상태가 됩니다. 그렇지 않으면 runtime.lastError에 오류 메시지가 포함됩니다. 다운로드가 활성 상태가 아니면 요청이 실패합니다.
매개변수
-
downloadId
숫자
일시중지할 다운로드의 ID입니다.
반환 값
-
약속<void>
Chrome 96 이상 브라우저.*(Chrome 148부터)일시중지 요청이 완료되면 결정되는 프로미스를 반환합니다.
removeFile()
browser.downloads.removeFile(
downloadId: number,
): Promise<void>
다운로드한 파일이 있고 DownloadItem가 완료된 경우 파일을 삭제합니다. 그렇지 않으면 runtime.lastError를 통해 오류를 반환합니다.
매개변수
-
downloadId
숫자
반환 값
-
약속<void>
Chrome 96 이상 브라우저.*(Chrome 148부터)
resume()
browser.downloads.resume(
downloadId: number,
): Promise<void>
일시중지된 다운로드를 재개합니다. 요청이 성공하면 다운로드가 진행 중이며 일시중지되지 않습니다. 그렇지 않으면 runtime.lastError에 오류 메시지가 포함됩니다. 다운로드가 활성 상태가 아니면 요청이 실패합니다.
매개변수
-
downloadId
숫자
재개할 다운로드의 ID입니다.
반환 값
-
약속<void>
Chrome 96 이상 브라우저.*(Chrome 148부터)재개 요청이 완료되면 확인되는 프로미스를 반환합니다.
search()
browser.downloads.search(
query: DownloadQuery,
): Promise<DownloadItem[]>
DownloadItem를 찾습니다. 모든 DownloadItem를 가져오려면 query를 빈 객체로 설정합니다. 특정 DownloadItem를 가져오려면 id 필드만 설정합니다. 많은 수의 항목을 페이지로 나누려면 orderBy: ['-startTime']를 설정하고, limit를 페이지당 항목 수로 설정하고, startedAfter를 마지막 페이지의 마지막 항목의 startTime로 설정합니다.
매개변수
-
query
반환 값
-
Promise<DownloadItem[]>
Chrome 96 이상 브라우저.*(Chrome 148부터)
setShelfEnabled()
browser.downloads.setShelfEnabled(
enabled: boolean,
): void
대신 setUiOptions를 사용하세요.
현재 브라우저 프로필과 연결된 모든 창 하단의 회색 선반을 사용 설정하거나 사용 중지합니다. 하나 이상의 확장 프로그램에서 사용 중지한 경우 선반이 사용 중지됩니다. 다른 확장 프로그램이 하나 이상 사용 중지한 상태에서 서랍을 사용 설정하면 runtime.lastError를 통해 오류가 반환됩니다. "downloads" 권한 외에 "downloads.shelf" 권한이 필요합니다.
매개변수
-
운영중
부울
setUiOptions()
browser.downloads.setUiOptions(
options: UiOptions,
): Promise<void>
현재 브라우저 프로필과 연결된 모든 창의 다운로드 UI를 변경합니다. 하나 이상의 확장 프로그램에서 UiOptions.enabled를 false로 설정하면 다운로드 UI가 숨겨집니다. 다른 확장 프로그램이 하나 이상 사용 중지된 상태에서 UiOptions.enabled를 true로 설정하면 runtime.lastError를 통해 오류가 반환됩니다. "downloads" 권한 외에 "downloads.ui" 권한이 필요합니다.
매개변수
-
옵션
다운로드 UI 변경사항을 캡슐화합니다.
반환 값
-
약속<void>
UI 업데이트가 완료되면 확인되는 프로미스를 반환합니다.
show()
browser.downloads.show(
downloadId: number,
): void
파일 관리자의 폴더에 다운로드한 파일을 표시합니다.
매개변수
-
downloadId
숫자
다운로드한 파일의 식별자입니다.
showDefaultFolder()
browser.downloads.showDefaultFolder(): void
파일 관리자에 기본 다운로드 폴더를 표시합니다.
이벤트
onChanged
browser.downloads.onChanged.addListener(
callback: function,
)
bytesReceived 및 estimatedEndTime를 제외한 DownloadItem의 속성이 변경되면 이 이벤트가 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를 재정의할 수 있습니다. 각 확장 프로그램은 이 이벤트에 대해 리스너를 두 개 이상 등록할 수 없습니다. 각 리스너는 동기식 또는 비동기식으로 suggest를 정확히 한 번 호출해야 합니다. 리스너가 suggest를 비동기식으로 호출하는 경우 true를 반환해야 합니다. 리스너가 suggest를 동기식으로 호출하지 않고 true를 반환하지 않으면 suggest가 자동으로 호출됩니다. 모든 리스너가 suggest를 호출할 때까지 DownloadItem가 완료되지 않습니다. 리스너는 인수 없이 suggest를 호출하여 다운로드에서 파일 이름에 downloadItem.filename를 사용하도록 허용하거나 suggestion 객체를 suggest에 전달하여 대상 파일 이름을 재정의할 수 있습니다. 두 개 이상의 확장 프로그램이 파일 이름을 재정의하는 경우 리스너가 suggestion 객체를 suggest에 전달하는 마지막으로 설치된 확장 프로그램이 적용됩니다. 어떤 확장 프로그램이 적용될지 혼동되지 않도록 사용자는 충돌할 수 있는 확장 프로그램을 설치하지 않아야 합니다. download에서 다운로드를 시작하고 MIME 유형과 임시 파일 이름이 결정되기 전에 대상 파일 이름을 알고 있는 경우 대신 filename를 download에 전달합니다.
매개변수
-
callback
함수
callback매개변수는 다음과 같습니다.(downloadItem: DownloadItem, suggest: function) => void
-
downloadItem
-
suggest
함수
suggest매개변수는 다음과 같습니다.(suggestion?: FilenameSuggestion) => void
-
추천
FilenameSuggestion 선택사항
-
-
onErased
browser.downloads.onErased.addListener(
callback: function,
)
다운로드가 기록에서 삭제되면 downloadId와 함께 실행됩니다.
매개변수
-
callback
함수
callback매개변수는 다음과 같습니다.(downloadId: number) => void
-
downloadId
숫자
-