我的Angular应用程序具有pdf下载选项。当我在Iphone(IOS 12)Safari浏览器中运行应用程序时,出现以下错误消息,如图所示
我该如何解决?
答案 0 :(得分:8)
如果您要以编程方式将ancor标记注入DOM作为解决方案,请确保不要过早清除它。
对我来说100ms可以正常工作,但是由于无论哪种方式都不可见,我选择清除DOM的延迟时间为1秒。
示例代码:
this.fileApi.download(<your args>).subscribe((data: Blob) => {
const url = window.URL.createObjectURL(data);
const a = document.createElement('a');
a.style.display = 'none';
a.href = url;
// the filename you want
a.download = <your filename>;
document.body.appendChild(a);
a.click();
setTimeout(() => {
window.URL.revokeObjectURL(url);
document.body.removeChild(a);
}, 1000);
})