downloads.search()
该 **search()
** 函数是 downloads
API 的一部分,用于查询浏览器下载管理器中可用的 DownloadItems
,并返回与指定搜索条件匹配的项。
这是一个异步函数,它返回一个 Promise
。
语法
js
let searching = browser.downloads.search(query);
参数
query
-
一个
downloads.DownloadQuery
对象。
返回值
一个 Promise
。该 promise 将通过一个包含与给定条件匹配的
对象的 downloads.DownloadItem
数组
来完成。
浏览器兼容性
BCD 表格仅在浏览器中加载
示例
通常,您可以使用 query
参数限制检索到的项。
获取与“查询”匹配的下载
js
function logDownloads(downloads) {
for (const download of downloads) {
console.log(download.id);
console.log(download.url);
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.downloads
.search({
query: ["imgur"],
})
.then(logDownloads, onError);
获取特定项
要获取特定 DownloadItem
,最简单的方法是仅设置 id
字段,如以下代码片段所示
js
function logDownloads(downloads) {
for (const download of downloads) {
console.log(download.id);
console.log(download.url);
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
const id = 13;
browser.downloads.search({ id }).then(logDownloads, onError);
获取所有下载
如果要返回所有 DownloadItems
,请将 query
设置为空对象。
js
function logDownloads(downloads) {
for (const download of downloads) {
console.log(download.id);
console.log(download.url);
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.downloads.search({}).then(logDownloads, onError);
获取最新的下载
可以通过指定以下搜索参数来获取最新的下载
js
function logDownloads(downloads) {
for (const download of downloads) {
console.log(download.id);
console.log(download.url);
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.downloads
.search({
limit: 1,
orderBy: ["-startTime"],
})
.then(logDownloads, onError);
您可以在我们的 latest-download 示例中看到此代码的实际运行效果。
示例扩展
注意: 此 API 基于 Chromium 的 chrome.downloads
API。