chrome.downloads

説明

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"

"asyncScanning"

"asyncLocalPasswordScanning"

"sensitiveContentWarning"

"sensitiveContentBlock"

"promptForScanning"

"promptForLocalPasswordScanning"

"blockedScanFailed"

DoubleDelta

プロパティ

  • 現在

    number(省略可)

  • 前へ

    number(省略可)

DownloadDelta

プロパティ

  • canResume

    BooleanDelta 省略可

    canResume の変更(ある場合)。

  • 危険

    StringDelta 省略可

    danger の変更(ある場合)。

  • endTime

    StringDelta 省略可

    endTime の変更(ある場合)。

  • error

    StringDelta 省略可

    error の変更(ある場合)。

  • 存在しています

    BooleanDelta 省略可

    exists の変更(ある場合)。

  • fileSize

    DoubleDelta (省略可)

    fileSize の変更(ある場合)。

  • filename

    StringDelta 省略可

    filename の変更(ある場合)。

  • finalUrl

    StringDelta 省略可

    Chrome 54 以降

    finalUrl の変更(ある場合)。

  • id

    数値

    変更された DownloadItemid

  • パントマイム

    StringDelta 省略可

    mime の変更(ある場合)。

  • 一時停止

    BooleanDelta 省略可

    paused の変更(ある場合)。

  • startTime

    StringDelta 省略可

    startTime の変更(ある場合)。

  • state

    StringDelta 省略可

    state の変更(ある場合)。

  • totalBytes

    DoubleDelta (省略可)

    totalBytes の変更(ある場合)。

  • URL

    StringDelta 省略可

    url の変更(ある場合)。

DownloadItem

プロパティ

  • byExtensionId

    string(省略可)

    このダウンロードを開始した拡張機能の識別子(このダウンロードが拡張機能によって開始された場合)。設定後は変更されません。

  • byExtensionName

    string(省略可)

    このダウンロードが拡張機能によって開始された場合は、このダウンロードを開始した拡張機能のローカライズされた名前。拡張機能の名前が変更された場合、またはユーザーが言語 / 地域を変更した場合に変更される可能性があります。

  • bytesReceived

    数値

    ファイルの圧縮を考慮せずに、ホストからこれまでに受信したバイト数。

  • canResume

    boolean

    ダウンロードが進行中で一時停止中の場合、またはダウンロードが中断されていて、中断したところから再開できる場合は true になります。

  • 危険

    このダウンロードが安全だと思われるか、それとも疑わしいと考えられているかを示します。

  • endTime

    string(省略可)

    ダウンロードが終了した時刻(ISO 8601 形式)。Date コンストラクタに直接渡すことができます。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 形式)。Date コンストラクタに直接渡すことができます。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() は必要に応じて何度でも呼び出すことができますが、10 秒に 1 回を超える頻度でファイルの存在が確認されることはありません。

  • fileSize

    数値

    解凍後のファイル全体のバイト数。不明な場合は -1。

  • filename

    string

    絶対ローカルパス。

  • finalUrl

    string

    Chrome 54 以降

    すべてのリダイレクト後の、このダウンロードの元の絶対 URL。

  • id

    数値

    ブラウザ セッションをまたいで維持される識別子。

  • シークレット モード

    boolean

    このダウンロードが履歴に記録されている場合は false、記録されていない場合は true です。

  • パントマイム

    string

    ファイルの MIME タイプ。

  • 一時停止

    boolean

    ダウンロードでホストからのデータの読み取りが停止したが、接続は開いたままにした場合は true。

  • referrer

    string

    絶対 URL。

  • startTime

    string

    ダウンロードが開始された時刻(ISO 8601 形式)。Date コンストラクタに直接渡すことができます。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

    filename がすでに存在する場合に実行するアクション。

  • filename

    string(省略可)

    ダウンロード ファイルを格納するファイルパス(ダウンロード ディレクトリからの相対パス)。サブディレクトリを含む場合もあります。絶対パス、空のパス、後方参照「..」を含むパスはエラーになります。onDeterminingFilename を使用すると、ファイルの MIME タイプと仮のファイル名が決まった後にファイル名を提案できます。

  • headers

    HeaderNameValuePair[] 省略可

    URL が HTTP[s] プロトコルを使用している場合に、リクエストとともに送信する追加の HTTP ヘッダー。各ヘッダーは、name と、value または binaryValue のいずれかのキーを含む辞書として表され、XMLHttpRequest で許可されているキーに限定されます。

  • method

    HttpMethod 省略可

    URL が HTTP[S] プロトコルを使用している場合に使用する HTTP メソッド。

  • saveAs

    ブール値(省略可)

    ファイル選択ツールを使用して、filename が設定されているか、すでに存在しているかにかかわらず、ユーザーがファイル名を選択できるようにします。

  • URL

    string

    ダウンロードする URL。

DownloadQuery

プロパティ

  • bytesReceived

    number(省略可)

    ファイルの圧縮を考慮せずに、ホストからこれまでに受信したバイト数。

  • 危険

    DangerType 省略可

    このダウンロードが安全だと思われるか、それとも疑わしいと考えられているかを示します。

  • endTime

    string(省略可)

    ダウンロードが終了した時刻(ISO 8601 形式)。

  • endedAfter

    string(省略可)

    結果を、指定されたミリ秒後に終了した DownloadItem に ISO 8601 形式で制限します

  • endedBefore

    string(省略可)

    結果を ISO 8601 形式の指定されたミリ秒より前に終了した DownloadItem に制限します。

  • error

    InterruptReason 省略可

    ダウンロードが中断された理由。

  • 存在しています

    ブール値(省略可)

    ダウンロードしたファイルが存在するかどうか

  • fileSize

    number(省略可)

    解凍後のファイル全体のバイト数。不明な場合は -1。

  • filename

    string(省略可)

    絶対ローカルパス。

  • filenameRegex

    string(省略可)

    filename が指定された正規表現と一致する結果を DownloadItem に制限します。

  • finalUrl

    string(省略可)

    Chrome 54 以降

    すべてのリダイレクト後の、このダウンロードの元の絶対 URL。

  • finalUrlRegex

    string(省略可)

    Chrome 54 以降

    finalUrl が指定された正規表現と一致する結果を DownloadItem に制限します。

  • id

    number(省略可)

    クエリ対象の DownloadItemid

  • 上限

    number(省略可)

    返される DownloadItem に一致するものの最大数。デフォルトは 1,000 です。一致する DownloadItem をすべて返すには、0 に設定します。結果をページ分割する方法については、search をご覧ください。

  • パントマイム

    string(省略可)

    ファイルの MIME タイプ。

  • orderBy

    string[] 省略可

    検索結果を並べ替えるには、この配列の要素を DownloadItem プロパティに設定します。たとえば、orderBy=['startTime'] と設定すると、DownloadItem は開始時間の昇順で並べ替えられます。降順を指定するには、先頭にハイフン「-startTime」を付けます。

  • 一時停止

    ブール値(省略可)

    ダウンロードでホストからのデータの読み取りが停止したが、接続は開いたままにした場合は true。

  • クエリ

    string[] 省略可

    この検索キーワードの配列は、検索結果を DownloadItem に限定します。filenameurlfinalUrl には、ダッシュ「-」で始まるすべての検索キーワードが含まれ、ダッシュで始まる検索キーワードは含まれません。

  • startTime

    string(省略可)

    ダウンロードが開始された時刻(ISO 8601 形式)。

  • startedAfter

    string(省略可)

    結果を ISO 8601 形式で指定したミリ秒後に開始した DownloadItem に制限します。

  • startedBefore

    string(省略可)

    結果を、指定されたミリ秒より前に開始した DownloadItem に ISO 8601 形式で制限します。

  • state

    都道府県 省略可

    ダウンロードが進行中か、中断済みか、完了しているかを示します。

  • totalBytes

    number(省略可)

    ファイル圧縮を考慮しない、ファイル全体のバイト数。不明な場合は -1。

  • totalBytesGreater

    number(省略可)

    totalBytes が指定された整数より大きい結果を DownloadItem に制限します。

  • totalBytesLess

    number(省略可)

    totalBytes が指定された整数より小さい結果を DownloadItem に制限します。

  • URL

    string(省略可)

    ダウンロード開始時のリダイレクト前の絶対 URL。

  • urlRegex

    string(省略可)

    url が指定された正規表現と一致する結果を DownloadItem に制限します。

FilenameConflictAction

統一

重複を避けるため、filename は、ファイル名の拡張子の前にカウンタを含めるように変更されます。

上書き

既存のファイルが新しいファイルで上書きされます。

プロンプト

ファイル選択ツール ダイアログが表示されます。

列挙型

FilenameSuggestion

プロパティ

  • conflictAction

    filename がすでに存在する場合に実行するアクション。

  • filename

    string

    DownloadItem の新しいターゲット DownloadItem.filename。ユーザーのデフォルトのダウンロード ディレクトリ(場合によってはサブディレクトリを含む)への相対パスです。絶対パス、空のパス、後方参照「..」を含むパスは無視されます。拡張機能によって onDeterminingFilename リスナーが登録されている場合、filename は無視されます。

GetFileIconOptions

プロパティ

  • サイズ

     省略可

    返されるアイコンのサイズ。アイコンは、サイズ × サイズ(ピクセル)の正方形になります。アイコンのデフォルトかつ最大サイズは 32x32 ピクセルです。サポートされているサイズは 16 と 32 のみです。他のサイズを指定するとエラーになります。

HeaderNameValuePair

プロパティ

  • name

    string

    HTTP ヘッダーの名前。

  • value

    string

    HTTP ヘッダーの値。

HttpMethod

列挙型

"GET"

InterruptReason

列挙型

"SERVER_UNREACHABLE"

"SERVER_CONTENT_LENGTH_MISMATCH"

State

in_progress

ダウンロードは現在、サーバーからデータを受信しています。

中断

エラーが発生したため、ファイルホストとの接続が切断されました。

完了

ダウンロードが完了しました。

列挙型

"complete"

StringDelta

プロパティ

  • 現在

    string(省略可)

  • 前へ

    string(省略可)

UiOptions

Chrome 105 以降

プロパティ

  • 有効

    boolean

    ダウンロード UI を有効または無効にします。

Methods

acceptDanger()

Promise
chrome.downloads.acceptDanger(
  downloadId: number,
  callback?: function,
)

危険なダウンロードを許可するようユーザーに求めます。可視コンテキスト(タブ、ウィンドウ、ページ/ブラウザのアクションのポップアップ)からのみ呼び出すことができます。危険なダウンロードを自動的に許可しません。ダウンロードが受け入れられると、onChanged イベントが発生します。受け入れられなかった場合は、何も起こりません。すべてのデータが一時ファイルに取得され、ダウンロードが危険ではない場合、または危険が受け入れられた場合、一時ファイルの名前はターゲット ファイル名に変更され、state が「complete」に変更されて、onChanged が起動します。

パラメータ

  • downloadId

    数値

    DownloadItem の識別子。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

cancel()

Promise
chrome.downloads.cancel(
  downloadId: number,
  callback?: function,
)

ダウンロードをキャンセルします。callback を実行すると、ダウンロードはキャンセル、完了、中断されるか、または存在しません。

パラメータ

  • downloadId

    数値

    キャンセルするダウンロードの ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

download()

Promise
chrome.downloads.download(
  options: DownloadOptions,
  callback?: function,
)

URL をダウンロードします。URL で HTTP[S] プロトコルを使用している場合、そのホスト名に現在設定されているすべての Cookie がリクエストに含まれます。filenamesaveAs の両方を指定すると、指定した filename が事前入力された [Save As] ダイアログが表示されます。ダウンロードが正常に開始すると、callback が新しい DownloadItemdownloadId で呼び出されます。ダウンロードの開始時にエラーが発生した場合は、downloadId=undefinedcallback が呼び出され、runtime.lastError に説明の文字列が含まれます。エラー文字列には、リリース間での下位互換性は保証されません。拡張機能で解析しないでください。

パラメータ

  • オプション

    ダウンロードする内容とその方法。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (downloadId: number)=>void

    • downloadId

      数値

戻り値

  • Promise<数値>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

erase()

Promise
chrome.downloads.erase(
  query: DownloadQuery,
  callback?: function,
)

ダウンロードしたファイルを削除せずに、一致する DownloadItem を履歴から消去します。query に一致する DownloadItem ごとに onErased イベントが発生し、callback が呼び出されます。

パラメータ

  • クエリ
  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (erasedIds: number[])=>void

    • erasedIds

      数値 []

戻り値

  • Promise<数値 []>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

getFileIcon()

Promise
chrome.downloads.getFileIcon(
  downloadId: number,
  options?: GetFileIconOptions,
  callback?: function,
)

指定したダウンロードのアイコンを取得します。新たにダウンロードする場合は、onCreated イベントの受信後にファイル アイコンを使用できます。ダウンロード中にこの関数によって返される画像は、ダウンロードの完了後に返される画像とは異なる場合があります。アイコンを取得するには、プラットフォームに応じて、基になるオペレーティング システムまたはツールキットに対してクエリを実行します。そのため、返されるアイコンは、ダウンロードの状態、プラットフォーム、登録されているファイル形式、ビジュアル テーマなど、さまざまな要因によって異なります。ファイル アイコンを判別できない場合は、runtime.lastError にエラー メッセージが表示されます。

パラメータ

  • downloadId

    数値

    ダウンロードの識別子。

  • オプション
  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (iconURL?: string)=>void

    • iconURL

      string(省略可)

戻り値

  • Promise<文字列|未定義>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

open()

Promise
chrome.downloads.open(
  downloadId: number,
  callback?: function,
)

DownloadItem が完了していれば、ダウンロードしたファイルを開きます。それ以外の場合は、runtime.lastError を介してエラーを返します。このメソッドには、"downloads" 権限に加えて "downloads.open" 権限が必要です。onChanged イベントは、アイテムが初めて開かれたときに発生します。このメソッドは、ユーザー操作へのレスポンスとしてのみ呼び出すことができます。

パラメータ

  • downloadId

    数値

    ダウンロードしたファイルの識別子。

  • callback

    関数(省略可)

    Chrome 123 以降

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Chrome 123 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

pause()

Promise
chrome.downloads.pause(
  downloadId: number,
  callback?: function,
)

ダウンロードを一時停止します。リクエストが成功すると、ダウンロードは一時停止状態になります。それ以外の場合、runtime.lastError にはエラー メッセージが含まれます。ダウンロードがアクティブでない場合、リクエストは失敗します。

パラメータ

  • downloadId

    数値

    一時停止するダウンロードの ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

removeFile()

Promise
chrome.downloads.removeFile(
  downloadId: number,
  callback?: function,
)

ダウンロードしたファイルが存在していて、DownloadItem が完了している場合は、それを削除します。それ以外の場合は、runtime.lastError を介してエラーを返します。

パラメータ

  • downloadId

    数値

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

resume()

Promise
chrome.downloads.resume(
  downloadId: number,
  callback?: function,
)

一時停止したダウンロードを再開します。リクエストが成功すると、ダウンロードは進行中で一時停止が解除されます。それ以外の場合、runtime.lastError にはエラー メッセージが含まれます。ダウンロードがアクティブでない場合、リクエストは失敗します。

パラメータ

  • downloadId

    数値

    再開するダウンロードの ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

Promise
chrome.downloads.search(
  query: DownloadQuery,
  callback?: function,
)

DownloadItem を見つけます。すべての DownloadItem を取得するには、query を空のオブジェクトに設定します。特定の DownloadItem を取得するには、id フィールドのみを設定します。多数のアイテムをページ分割するには、orderBy: ['-startTime'] を設定し、limit をページあたりのアイテム数に設定し、startedAfter を最後のページの最後のアイテムの startTime に設定します。

パラメータ

戻り値

  • Promise<DownloadItem[]>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

setShelfEnabled()

Chrome 117 以降でサポートが終了
chrome.downloads.setShelfEnabled(
  enabled: boolean,
)

代わりに setUiOptions を使用してください。

現在のブラウザ プロファイルに関連付けられているすべてのウィンドウの下部にあるグレーのシェルフを有効または無効にします。シェルフは、少なくとも 1 つの拡張機能で無効になっている限り、無効になります。他の拡張機能が少なくとも 1 つ無効になっている状態で本棚を有効にすると、runtime.lastError を通じてエラーが返されます。"downloads" 権限に加えて、"downloads.shelf" 権限が必要です。

パラメータ

  • 有効

    boolean

setUiOptions()

Promise Chrome 105 以降
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

戻り値

  • Promise<void>

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

show()

chrome.downloads.show(
  downloadId: number,
)

ダウンロードしたファイルをファイル マネージャーのフォルダに表示します。

パラメータ

  • downloadId

    数値

    ダウンロードしたファイルの識別子。

showDefaultFolder()

chrome.downloads.showDefaultFolder()

ファイル マネージャーにデフォルトのダウンロード フォルダを表示します。

イベント

onChanged

chrome.downloads.onChanged.addListener(
  callback: function,
)

DownloadItem のプロパティ(bytesReceivedestimatedEndTime を除く)が変更されると、downloadId と、変更されたプロパティを含むオブジェクトでイベントが発生します。

パラメータ

  • callback

    機能

    callback パラメータは次のようになります。

    (downloadDelta: DownloadDelta)=>void

onCreated

chrome.downloads.onCreated.addListener(
  callback: function,
)

このイベントは、ダウンロードが開始されると DownloadItem オブジェクトとともに呼び出されます。

パラメータ

  • callback

    機能

    callback パラメータは次のようになります。

    (downloadItem: DownloadItem)=>void

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 タイプと仮ファイル名が確定する前に対象のファイル名がわかっている場合は、代わりに filenamedownload に渡します。

パラメータ

  • callback

    機能

    callback パラメータは次のようになります。

    (downloadItem: DownloadItem,suggest: function)=>void

    • downloadItem
    • suggest

      機能

      suggest パラメータは次のようになります。

      (suggestion?: FilenameSuggestion)=>void

      • 候補; 提案; サジェスチョン(#など適宜文脈に応じて)

onErased

chrome.downloads.onErased.addListener(
  callback: function,
)

ダウンロードが履歴から消去されると、downloadId で起動します。

パラメータ

  • callback

    機能

    callback パラメータは次のようになります。

    (downloadId: number)=>void

    • downloadId

      数値