блокируется браузером, если посетитель не совершил каких-то действий, допустим, нажал на кнопку. Это связано с негативным отношением к всплывающей рекламе.
Поэтому можно только повесить на кнопку и вызывать синхронно с нажатием (сначала открывает, на фоне отправляет запрос) или сделать ещё кнопку, которая бы открывала файл
upd: как вариант возвращать с бэкенда файл и открывать его, а не просто файлом