Я делаю расширение для загружаемого изображения. Который в настоящее время я использую в качестве фонового сценария, использую прямую ссылку для скачивания, перехватываю и переименовываю ее.
const downloadLinkA = document.createElement("a");
downloadLinkA.href = givenObj.imageLink;
downloadLinkA.download = "test.png";
downloadLinkA.onclick = function() {
bkg.log("clicked");
}
document.body.appendChild(downloadLinkA);
downloadLinkA.click();
bkg.log(document);
//downloadLinkA.remove();
chrome.downloads.onDeterminingFilename.addListener((downloadItem, suggest) => {
if (downloadItem.url == givenObj.imageLink) {
bkg.log("intercept ",givenObj, " ; ", downloadItem);
suggest({filename: givenName, conflictAction: "uniquify"});
}
});
gidObj — это объект со всей информацией об изображении, а GivenObj.imageLink — это прямая ссылка для скачивания.
Ссылка для скачивания A создается, я вижу в ней документ, по нему также щелкают (я вижу сообщение "щелкнул" в журнале консоли), но прямая ссылка для скачивания не активируется. Если я нажму на ссылку напрямую, она сработает или использует тот же код в сценарии содержимого.
Есть ли какой-то аспект фонового скрипта, из-за которого это не работает?