この権限により警告がトリガーされます
説明
chrome.downloads
API を使用して、ダウンロードをプログラムで開始、モニタリング、操作、検索します。
権限
downloads
マニフェスト
この API を使用するには、拡張機能のマニフェストで "downloads"
権限を宣言する必要があります。
{
"name": "My extension",
...
"permissions": [
"downloads"
],
...
}
例
chrome.downloads
API の簡単な使用例は、examples/api/downloads にあります。
されます。その他の例とソースコードの表示については、サンプルをご覧ください。
型
BooleanDelta
プロパティ
-
現在
ブール値(省略可)
-
前へ
ブール値(省略可)
DangerType
あなた宛てに表示されます。
ダウンロードしたファイル名は疑わしい
URL
このダウンロードの URL は悪意のあるものであると認識されています。
コンテンツ
ダウンロードしたファイルは悪意のあるファイルであることが確認されています。
珍しい
ダウンロードの URL は一般的にダウンロードされているものではなく、危害を及ぼす可能性があります。
ホスト
ダウンロードは、悪意のあるバイナリを配布することが知られているホストから行われており、危険性の可能性があります。
不要
望ましくない、または安全でない可能性のあるダウンロード。例:ブラウザやパソコンの設定が変更される場合があります。
安全性
このダウンロードにより、ユーザーのパソコンに対する既知の危険はない。
承認済
ユーザーが危険なダウンロードを承認しました。
列挙型
「ファイル」
"url"
"content"
"uncommon"
「host」
"不要な"
"safe"
"Accepted"
"allowlistedByPolicy"
"asyncScanning"
"asyncLocalPasswordScanning"
"passwordProtected"
"blockedTooLarge"
"sensitiveContentWarning"
"sensitiveContentBlock"
"deepScannedFailed"
"deepScannedSafe"
「deepScannedOpenedDangerous」
「promptForScanning」
「promptForLocalPasswordScanning」
"accountCompromise"
"blockedScanFailed"
DoubleDelta
プロパティ
-
現在
数値(省略可)
-
前へ
数値(省略可)
DownloadDelta
プロパティ
-
canResume
BooleanDelta(省略可)
canResume
の変更(ある場合)。 -
危険
StringDelta オプション
danger
の変更(ある場合)。 -
endTime
StringDelta オプション
endTime
の変更(ある場合)。 -
エラー
StringDelta オプション
error
の変更(ある場合)。 -
存在しています
BooleanDelta(省略可)
exists
の変更(ある場合)。 -
fileSize
DoubleDelta オプション
fileSize
の変更(ある場合)。 -
filename
StringDelta オプション
filename
の変更(ある場合)。 -
finalUrl
StringDelta オプション
Chrome 54 以降finalUrl
の変更(ある場合)。 -
id
数値
変更された
DownloadItem
のid
。 -
パントマイム
StringDelta オプション
mime
の変更(ある場合)。 -
一時停止
BooleanDelta(省略可)
paused
の変更(ある場合)。 -
startTime
StringDelta オプション
startTime
の変更(ある場合)。 -
state
StringDelta オプション
state
の変更(ある場合)。 -
totalBytes
DoubleDelta オプション
totalBytes
の変更(ある場合)。 -
URL
StringDelta オプション
url
の変更(ある場合)。
DownloadItem
プロパティ
-
byExtensionId
文字列(省略可)
このダウンロードが拡張機能によって開始された場合、このダウンロードを開始した拡張機能の識別子。一度設定すると変更されません。
-
byExtensionName
文字列(省略可)
このダウンロードが拡張機能によって開始された場合、このダウンロードを開始した拡張機能のローカライズされた名前。拡張機能の名前が変更された場合や、ユーザーが言語 / 地域を変更した場合に、変更される可能性があります。
-
bytesReceived
数値
ファイル圧縮を考慮せずにホストからこれまでに受信したバイト数。
-
canResume
ブール値
ダウンロードが進行中で一時停止している場合は true、それ以外の場合は中断され、中断したところから再開できる場合は true。
-
危険
このダウンロードが安全だと考えているか、それとも疑わしいと認識しているかを示します。
-
endTime
文字列(省略可)
ダウンロードが終了した時刻(ISO 8601 形式)。日付コンストラクタに直接渡すことができます:
chrome.downloads.search({}, function(items){items.forEach(function(item){if (item.endTime) console.log(new Date(item.endTime))})})
-
エラー
InterruptReason(省略可)
ダウンロードが中断された理由。さまざまな種類の HTTP エラーは、
SERVER_
で始まるエラーの 1 つに分類できます。ネットワークに関連するエラーはNETWORK_
で始まり、ファイル システムへのファイルの書き込みプロセスに関連するエラーはFILE_
で始まり、ユーザーによって開始された中断はUSER_
で始まります。 -
estimatedEndTime
文字列(省略可)
ダウンロード完了までの推定所要時間(ISO 8601 形式)。日付コンストラクタに直接渡すことができます:
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 秒に 1 回を超える頻度ではファイルの存在をチェックしません。 -
fileSize
数値
解凍後のファイル全体のバイト数。不明な場合は -1。
-
filename
文字列
絶対ローカルパス。
-
finalUrl
文字列
Chrome 54 以降すべてのリダイレクト後の、ダウンロード元の絶対 URL です。
-
id
数値
ブラウザ セッション間で永続的な識別子。
-
シークレット モード
ブール値
このダウンロードが履歴に記録されている場合は false、記録されていない場合は true。
-
パントマイム
文字列
ファイルの MIME タイプ。
-
一時停止
ブール値
ダウンロードがホストからのデータの読み取りを停止したが、接続は開いたままの場合は true。
-
referrer
文字列
絶対 URL。
-
startTime
文字列
ダウンロードが開始された時刻(ISO 8601 形式)。日付コンストラクタに直接渡すことができます:
chrome.downloads.search({}, function(items){items.forEach(function(item){console.log(new Date(item.startTime))})})
-
state
ダウンロードが進行中、中断中、完了のいずれであるかを示します。
-
totalBytes
数値
ファイル全体のバイト数。ファイル圧縮は考慮されません。不明な場合は -1。
-
URL
文字列
このダウンロードが開始した絶対 URL(リダイレクト前)です。
DownloadOptions
プロパティ
-
body
文字列(省略可)
投稿の本文。
-
conflictAction
filename
がすでに存在する場合に実行するアクション。 -
filename
文字列(省略可)
ダウンロードしたファイルを格納するダウンロード ディレクトリからの相対ファイルパス。サブディレクトリも格納できます。絶対パス、空のパス、後方参照「..」を含むパスエラーが発生します。
onDeterminingFilename
を使用すると、ファイルの MIME タイプと仮のファイル名を決定した後にファイル名を提案できます。 -
headers
HeaderNameValuePair[] 省略可
URL で HTTP[s] プロトコルを使用する場合に、リクエストとともに送信する追加の HTTP ヘッダー。各ヘッダーは、キー
name
と、value
またはbinaryValue
のいずれかのキーを含む辞書として表され、XMLHttpRequest で許可されているものに限定されます。 -
method
HttpMethod(省略可)
URL で HTTP[S] プロトコルを使用する場合に使用する HTTP メソッド。
-
saveAs
ブール値(省略可)
ファイル選択ツールを使用して、
filename
が設定されているかどうかに関係なく、ユーザーがファイル名を選択できるようにします。 -
URL
文字列
ダウンロードする URL。
DownloadQuery
プロパティ
-
bytesReceived
数値(省略可)
ファイル圧縮を考慮せずにホストからこれまでに受信したバイト数。
-
危険
DangerType (省略可)
このダウンロードが安全だと考えているか、それとも疑わしいと認識しているかを示します。
-
endTime
文字列(省略可)
ダウンロードが終了した時刻(ISO 8601 形式)。
-
endedAfter
文字列(省略可)
結果を ISO 8601 形式の指定されたミリ秒の後に終了する
DownloadItem
に制限します -
endedBefore
文字列(省略可)
結果を ISO 8601 形式で指定されたミリ秒より前に終了した
DownloadItem
に制限します。 -
エラー
InterruptReason(省略可)
ダウンロードが中断された理由。
-
存在しています
ブール値(省略可)
ダウンロードしたファイルが存在するかどうか
-
fileSize
数値(省略可)
解凍後のファイル全体のバイト数。不明な場合は -1。
-
filename
文字列(省略可)
絶対ローカルパス。
-
filenameRegex
文字列(省略可)
指定した正規表現に
filename
が一致するDownloadItem
に結果を制限します。 -
finalUrl
文字列(省略可)
Chrome 54 以降すべてのリダイレクト後の、ダウンロード元の絶対 URL です。
-
finalUrlRegex
文字列(省略可)
Chrome 54 以降指定した正規表現に
finalUrl
が一致するDownloadItem
に結果を制限します。 -
id
数値(省略可)
クエリする
DownloadItem
のid
。 -
limit
数値(省略可)
返される
DownloadItem
の最大数。デフォルトは 1,000 です。一致するすべてのDownloadItem
を返すには、0 に設定します。結果をページ分割する方法については、search
をご覧ください。 -
パントマイム
文字列(省略可)
ファイルの MIME タイプ。
-
orderBy
文字列 [] 省略可
検索結果を並べ替えるには、この配列の要素を
DownloadItem
プロパティに設定します。たとえば、orderBy=['startTime']
を設定すると、DownloadItem
が開始時間の昇順で並べ替えられます。降順を指定するには、接頭辞にハイフンを付けます(例: -startTime)。 -
一時停止
ブール値(省略可)
ダウンロードがホストからのデータの読み取りを停止したが、接続は開いたままの場合は true。
-
クエリ
文字列 [] 省略可
この検索キーワードの配列は、結果を
DownloadItem
に制限します。そのfilename
、url
、finalUrl
には、ダッシュ「-」で始まらない検索キーワードがすべて含まれます。ダッシュで始まる検索語句がないことを確認できます。 -
startTime
文字列(省略可)
ダウンロードが開始された時刻(ISO 8601 形式)。
-
startedAfter
文字列(省略可)
結果を ISO 8601 形式で、指定されたミリ秒の後に開始した
DownloadItem
に制限します。 -
startedBefore
文字列(省略可)
結果を ISO 8601 形式で指定されたミリ秒より前に開始した
DownloadItem
に制限します。 -
state
都道府県 (省略可)
ダウンロードが進行中、中断中、完了のいずれであるかを示します。
-
totalBytes
数値(省略可)
ファイル全体のバイト数。ファイル圧縮は考慮されません。不明な場合は -1。
-
totalBytesGreater
数値(省略可)
結果を、
totalBytes
が指定された整数より大きいDownloadItem
に制限します。 -
totalBytesLess
数値(省略可)
結果を、
totalBytes
が指定された整数より小さいDownloadItem
に制限します。 -
URL
文字列(省略可)
このダウンロードが開始した絶対 URL(リダイレクト前)です。
-
urlRegex
文字列(省略可)
指定した正規表現に
url
が一致するDownloadItem
に結果を制限します。
FilenameConflictAction
一風変わった
重複を避けるために、ファイル名の拡張子の前にカウンタが含まれるように filename
が変更されました。
上書き
既存のファイルは新しいファイルで上書きされます。
prompt
ファイル選択ツール ダイアログが表示されます。
列挙型
"uniquify"
「上書き」
「prompt」
FilenameSuggestion
プロパティ
-
conflictAction
filename
がすでに存在する場合に実行するアクション。 -
filename
文字列
DownloadItem
の新しいターゲットDownloadItem.filename
。ユーザーのデフォルトのダウンロード ディレクトリへの相対パス(サブディレクトリを含む場合もあります)。絶対パス、空のパス、後方参照「..」を含むパスは無視されます。拡張機能によって登録されたonDeterminingFilename
リスナーがある場合、filename
は無視されます。
GetFileIconOptions
プロパティ
-
サイズ
数値(省略可)
返されるアイコンのサイズ。アイコンは、寸法 × サイズピクセルの正方形になります。アイコンのデフォルトおよび最大サイズは 32x32 ピクセルです。サポートされているサイズは 16 と 32 のみです。他のサイズを指定するとエラーになります。
HeaderNameValuePair
プロパティ
-
name
文字列
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」
"クラッシュ"
State
in_progress
現在、ダウンロードはサーバーからデータを受信しています。
中断
エラーが発生したため、ファイルホストとの接続が切断されました。
完了
ダウンロードが正常に完了しました。
列挙型
"in_progress"
"中断されました"
「完了」
StringDelta
プロパティ
-
現在
文字列(省略可)
-
前へ
文字列(省略可)
UiOptions
プロパティ
-
有効
ブール値
ダウンロード UI を有効または無効にします。
メソッド
acceptDanger()
chrome.downloads.acceptDanger(
downloadId: number,
callback?: function,
)
危険なダウンロードの承認をユーザーに求める。可視コンテキスト(タブ、ウィンドウ、ページまたはブラウザのアクション ポップアップ)からのみ呼び出すことができます。危険なダウンロードを自動的に受け入れない。ダウンロードが受け入れられると、onChanged
イベントが発生します。それ以外の場合は、何も起こりません。すべてのデータが一時ファイルにフェッチされ、ダウンロードが危険ではないか、または危険が許容されると、一時ファイルの名前がターゲットのファイル名に変更され、state
が「完了」に変わり、onChanged
が呼び出されます。
パラメータ
-
downloadId
数値
DownloadItem
の識別子。 -
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
cancel()
chrome.downloads.cancel(
downloadId: number,
callback?: function,
)
ダウンロードをキャンセルします。callback
が実行されると、ダウンロードのキャンセル、完了、中断、または存在が中止されます。
パラメータ
-
downloadId
数値
キャンセルするダウンロードの ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
download()
chrome.downloads.download(
options: DownloadOptions,
callback?: function,
)
URL をダウンロードする。URL で HTTP[S] プロトコルを使用する場合、リクエストにはホスト名に現在設定されているすべての Cookie が含まれます。filename
と saveAs
の両方が指定されている場合は、[名前を付けて保存] ダイアログが表示され、指定した filename
が事前入力されます。ダウンロードが正常に開始されると、新しい DownloadItem
の downloadId
で callback
が呼び出されます。ダウンロードの開始時にエラーが発生した場合は、downloadId=undefined
で callback
が呼び出され、runtime.lastError
にわかりやすい文字列が含まれます。エラー文字列は、リリース間での下位互換性が保たれているとは限りません。拡張機能で解析することはできません。
パラメータ
-
オプション
ダウンロードする対象とダウンロード方法。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(downloadId: number) => void
-
downloadId
数値
-
戻り値
-
Promise<number>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
erase()
chrome.downloads.erase(
query: DownloadQuery,
callback?: function,
)
ダウンロードしたファイルを削除せずに、一致する DownloadItem
を履歴から削除します。query
に一致する DownloadItem
ごとに onErased
イベントが発生し、callback
が呼び出されます。
パラメータ
-
クエリ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(erasedIds: number[]) => void
-
erasedIds
数値 []
-
戻り値
-
Promise<数値 []>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getFileIcon()
chrome.downloads.getFileIcon(
downloadId: number,
options?: GetFileIconOptions,
callback?: function,
)
指定したダウンロードのアイコンを取得します。新規にダウンロードする場合は、onCreated
イベントの受信後にファイル アイコンを利用できます。ダウンロードの進行中にこの関数によって返される画像は、ダウンロードの完了後に返される画像とは異なる場合があります。アイコンを取得するには、プラットフォームに応じて、基になるオペレーティング システムまたはツールキットをクエリします。そのため、返されるアイコンは、ダウンロードの状態、プラットフォーム、登録されているファイル形式、ビジュアル テーマなど、さまざまな要因によって異なります。ファイル アイコンを特定できない場合は、runtime.lastError
にエラー メッセージが表示されます。
パラメータ
-
downloadId
数値
ダウンロードの識別子。
-
オプション
GetFileIconOptions (省略可)
-
callback
関数(省略可)
callback
パラメータは次のようになります。(iconURL?: string) => void
-
iconURL
文字列(省略可)
-
戻り値
-
Promise<文字列 |未定義>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
open()
chrome.downloads.open(
downloadId: number,
callback?: function,
)
DownloadItem
が完了したら、ダウンロードしたファイルを開きます。それ以外の場合は、runtime.lastError
を介してエラーを返します。このメソッドを使用するには、"downloads"
権限に加えて、"downloads.open"
権限が必要です。onChanged
イベントは、アイテムが初めて開かれたときに発生します。このメソッドは、ユーザー操作への応答でのみ呼び出すことができます。
パラメータ
-
downloadId
数値
ダウンロードされたファイルの識別子。
-
callback
関数(省略可)
Chrome 123 以降callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 123 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
pause()
chrome.downloads.pause(
downloadId: number,
callback?: function,
)
ダウンロードを一時停止します。リクエストが成功した場合、ダウンロードは一時停止状態になります。それ以外の場合、runtime.lastError
にはエラー メッセージが含まれます。ダウンロードが有効でない場合、リクエストは失敗します。
パラメータ
-
downloadId
数値
一時停止するダウンロードの ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
removeFile()
chrome.downloads.removeFile(
downloadId: number,
callback?: function,
)
ダウンロードしたファイルが存在し、DownloadItem
が完全な場合は削除します。それ以外の場合は、runtime.lastError
からエラーを返します。
パラメータ
-
downloadId
数値
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
resume()
chrome.downloads.resume(
downloadId: number,
callback?: function,
)
一時停止したダウンロードを再開する。リクエストが成功した場合、ダウンロードは進行中で、一時停止が解除されます。それ以外の場合、runtime.lastError
にはエラー メッセージが表示されます。ダウンロードが有効でない場合、リクエストは失敗します。
パラメータ
-
downloadId
数値
再開するダウンロードの ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
search()
chrome.downloads.search(
query: DownloadQuery,
callback?: function,
)
DownloadItem
を見つけます。すべての DownloadItem
を取得するには、query
を空のオブジェクトに設定します。特定の DownloadItem
を取得するには、id
フィールドのみを設定します。多数のアイテムをページ分割するには、orderBy: ['-startTime']
を設定し、limit
を 1 ページあたりのアイテム数に設定し、startedAfter
を最後のページの最後のアイテムの startTime
に設定します。
パラメータ
-
クエリ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: DownloadItem[]) => void
-
結果
-
戻り値
-
Promise<DownloadItem[]>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setShelfEnabled()
chrome.downloads.setShelfEnabled(
enabled: boolean,
)
代わりに setUiOptions
を使用してください。
現在のブラウザ プロファイルに関連付けられている各ウィンドウの下部にあるグレーのシェルフを有効または無効にします。シェルフは、少なくとも 1 つの拡張機能で無効にされている限り無効になります。他の 1 つ以上の拡張機能が無効になっている状態でシェルフを有効にすると、runtime.lastError
を通じてエラーが返されます。"downloads"
権限に加えて、"downloads.shelf"
権限が必要です。
パラメータ
-
有効
ブール値
setUiOptions()
chrome.downloads.setUiOptions(
options: UiOptions,
callback?: function,
)
現在のブラウザ プロファイルに関連付けられているすべてのウィンドウのダウンロード UI を変更します。少なくとも 1 つの拡張機能で UiOptions.enabled
が false に設定されている限り、ダウンロード UI は非表示になります。他の少なくとも 1 つの拡張機能が無効になっている状態で UiOptions.enabled
を true に設定すると、runtime.lastError
を通じてエラーが返されます。"downloads"
権限に加えて、"downloads.ui"
権限が必要です。
パラメータ
-
オプション
ダウンロード UI への変更をカプセル化します。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
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
をオーバーライドできます。各拡張機能では、このイベントに複数のリスナーを登録することはできません。各リスナーは、同期的または非同期的に suggest
を 1 回だけ呼び出す必要があります。リスナーが suggest
を非同期的に呼び出す場合は、true
を返す必要があります。リスナーが suggest
を同期的に呼び出したり true
を返したりしない場合、suggest
は自動的に呼び出されます。DownloadItem
は、すべてのリスナーが suggest
を呼び出すまで完了しません。リスナーは、ダウンロードでファイル名に downloadItem.filename
を使用できるように、引数なしで suggest
を呼び出すか、ターゲット ファイル名をオーバーライドするために suggestion
オブジェクトを suggest
に渡します。複数の拡張機能がファイル名をオーバーライドする場合、リスナーが suggestion
オブジェクトを suggest
に渡す、最後にインストールされた拡張機能が優先されます。どの拡張機能を使用するかについて混乱が生じないようにするため、競合する可能性のある拡張機能をユーザーがインストールすることはできません。download
によってダウンロードが開始され、MIME タイプと仮のファイル名を決定する前にターゲット ファイル名がわかっている場合は、代わりに filename
を download
に渡します。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(downloadItem: DownloadItem, suggest: function) => void
-
downloadItem
-
suggest
関数
suggest
パラメータは次のようになります。(suggestion?: FilenameSuggestion) => void
-
候補
FilenameSuggestion(省略可)
-
-
onErased
chrome.downloads.onErased.addListener(
callback: function,
)
ダウンロードが履歴から消去されると、downloadId
で起動します。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(downloadId: number) => void
-
downloadId
数値
-