Я опрашиваю сервер, используя SetInterval, пока не будет загружена PDF, которые я хочу загрузить ... как только PDF готовы к загрузке, я очищаю интервал, а затем я вызываю функцию < /p>
async function DownloadAndOpenPdf(fileId){
const ret = await Utilities.PostFunction(DownloadReportFileURL, fileId);
const blob = new Blob([Base64ToBinary.decodeArrayBuffer(ret.Base64EncryptedData)], { "type": ret.MimeType });
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = ret.FileName + ret.FileExtension;
link.click();
window.open(link.href, "_blank");
}
< /code>
Это загружает PDF, но затем я получаю сообщение о том, что всплывающее окно было заблокировано, однако, если я запускаю эту функцию в Devtools, PDF загружается и открывается на новой вкладке без какой -либо проблемы. Если я назову эту функцию на кнопке, нажимая событие, то она работает без каких -либо проблем.
Что мне не хватает? Как исправить это для загрузки и открыть файл без сообщения, в котором говорилось, что всплывающее окно было заблокировано после очистки интервала
Подробнее здесь: https://stackoverflow.com/questions/796 ... -open-in-a