微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Firefox webextension 上下载完成之前,downloads.onChanged 不会触发

如何解决在 Firefox webextension 上下载完成之前,downloads.onChanged 不会触发

我有具有 downloads.onChanged 侦听器的 webextension。此侦听器应删除更改其名称的下载。在 chrome 上它可以工作,但在 Firefox 上它只在下载完成时触发。 示例:

browser.downloads.onChanged.addListener(checkFile);
for (var i = 0; i < arg.url.length; i++) {

let name = arg.filename[i];
browser.downloads.download({
url: arg.url[i],filename: name
},id => {
checkdownloadList[id] = name;
downloadList[id] = name;
})
}

function checkFile (file) {

if (checkdownloadList[file.id] !== undefined) {
delete checkdownloadList[file.id];

browser.downloads.search({
id: file.id
},function(downloadItems) {
if (downloadItems[0].filename.replace(/\\/gi,"/").includes(downloadList[downloadItems[0].id])) {
browser.downloads.resume(downloadItems[0].id);
} else {
browser.downloads.erase({id: downloadItems[0].id});
}
});

我无法暂停下载,因为 downloads.onCeeated 事件也不起作用。并在下载 id 收到结果后暂停,出现错误“无法暂停,因为下载中断”。在 chrome 上,所有这些方法都有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。