Я создаю расширение chrome, которое перехватывает загрузки, и я хочу иметь возможность отменить загрузки, если для этой загрузки выполнены некоторые критерии, и выполнить некоторые другие операции.
Сейчас я Я перехватываю функцию Chrome onDeterminingFilename
и выполняю что-то вроде этого:
suggest({
filename: downloadItem.filename,
conflictAction: 'uniquify'
});
Затем я отменяю загрузку и начинаю выполнять некоторые другие операции.
Это затрудняет, потому что, когда кто-то щелкает правой кнопкой мыши по файлу и выполняет команду «Сохранить ссылку как», он уже выполняет подсказку имени файла, уже отменяет загрузку и уже выполняет все другие операции.
Как я могу сделать так, чтобы мой код ждал, пока пользователь выберет имя файла в «Сохранить ссылку как», прежде чем мой код действительно запустится?
Одна вещь, о которой я думал, - это иметь слушателя позже в жизненном цикле загрузки, но я хочу предотвратить первоначальный запрос к серверу, и я думаю, что onDeterminingFilename
выглядит единственным способом отменить загрузку до того, как будет выполнен запрос GET.