使用iframe
和window.open
来查看base64 pdf流,您可以使用以下方式将当前浏览器的默认pdf查看器调用到新选项卡:
const pdfWindow = window.open('');
const iframe = '<iframe width="100%" height="100%" src="' + base64 + '"></iframe>';
pdfWindow.document.write(iframe);
chrome的问题是下载按钮在这种情况下不起作用。以“ iframe + window.open ”方式实施此操作的原因来自Chrome的"Not allowed to navigate top frame to data URL"
问题。我有here的确切问题。
现在,我打算在单击pdf查看器的下载按钮时以编程方式下载pdf文件。如何订阅其click事件并在其上附加回调函数?最有可能的是,我们必须在上面添加event.preventDefault
,但可以在哪里订阅?