Я хочу иметь возможность использовать расширение для загрузки файла и запомнить идентификатор загрузки для дальнейшего использования. Моя первоначальная попытка сделать это состояла в том, чтобы использовать функцию обратного вызова и назначить downloadId как переменную, подобную этой:
chrome.downloads.download({
url: downloadURL
},
function getDownloadId(downloadId) {
var thisDownloadId = downloadId;
}
);
Но это вызвало сбой моего Chromebook, поэтому я не думаю, что это сработает.
Я пытался использовать решение из этого вопроса . Однако, когда я пытаюсь использовать упомянутое решение, оно заканчивается этой ошибкой:
TypeError: Cannot read property 'current' of undefined.
Это фрагмент моего скрипта, который загружает файл (popup.js)
chrome.downloads.download({
url: downloadURL
});
И фрагмент, где он ожидает загрузки файла, который в настоящее время отображает только идентификатор загрузки для тестирования (popup.js)
chrome.downloads.onChanged.addListener(function (
if(detail.state.current == "complete") { // This is where the error occurs
var downloadId = detail.id;
alert("downloadId: " + downloadId);
}
});