downloads.erase()
该downloads
API 的 erase()
函数从浏览器的下载历史记录中删除匹配的 DownloadItems
,而不会从磁盘中删除已下载的文件。
要从磁盘中删除文件,你需要使用 downloads.removeFile()
。
这是一个异步函数,它返回一个 Promise
。
注意: 如果你想从磁盘中删除已下载的文件并且 从历史记录中删除它,你需要在调用 erase()
之前调用 downloads.removeFile()
。如果你反过来尝试,在调用 downloads.removeFile()
时会收到错误,因为它根据浏览器不再存在。
语法
js
let erasing = browser.downloads.erase(
query // DownloadQuery
)
参数
query
-
一个
downloads.DownloadQuery
对象。
返回值
一个 Promise
。如果调用成功,承诺将使用一个整数数组来实现,该数组表示已删除的 DownloadItems
的 ID。如果没有找到与查询参数匹配的项,数组将为空。如果调用失败,承诺将被错误消息拒绝。
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
示例
删除最近的下载
js
function onErased(ids) {
console.log(`Erased: ${ids}`);
}
function onError(error) {
console.log(`Error erasing item: ${error}`);
}
let erasing = browser.downloads.erase({
limit: 1,
orderBy: ["-startTime"],
});
erasing.then(onErased, onError);
删除所有内容
js
function onErased(ids) {
console.log(`Erased: ${ids}`);
}
function onError(error) {
console.log(`Error erasing item: ${error}`);
}
let erasing = browser.downloads.erase({});
erasing.then(onErased, onError);
示例扩展
注意: 该 API 基于 Chromium 的 chrome.downloads
API。