Используя iframe
с window.open
для просмотра потока PDF base64, вы можете вызвать средство просмотра PDF по умолчанию вашего текущего браузера на новой вкладке с чем-то вроде этого:
const pdfWindow = window.open('');
const iframe = '<iframe width="100%" height="100%" src="' + base64 + '"></iframe>';
pdfWindow.document.write(iframe);
Проблема с хромом заключается в том, что кнопка загрузки не будет работать в этом случае. И причина для реализации этого " iframe + window.open " связана с проблемой "Not allowed to navigate top frame to data URL"
в Chrome. У меня есть точная проблема от здесь .
Теперь я планирую просто программно загрузить файл PDF в случае нажатия кнопки загрузки программы просмотра PDF. Как подписаться на событие click и добавить к нему функцию обратного вызова? Скорее всего, нам нужно будет добавить event.preventDefault
и так далее, но где мы можем подписаться?