在我的angular 7项目中,我需要打印一些PDF,并且如果可能的话,我不想使用第三方库,因此我在网上找到了此代码:
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = blobUrl;
document.body.appendChild(iframe);
iframe.contentWindow.print()
它在chrome和Opera中工作完美,但在Firefox中它打印空白页。 我在打印时也尝试使用setTimout,但是在这种情况下出现错误:
offsetParent未设置-无法滚动
错误DOMException:“拒绝访问跨域对象上的属性“ print”的权限”
那么有没有针对Firefox的解决方案?
p.s。无需触摸浏览器偏好设置。
答案 0 :(得分:0)
好的,我找到了解决方案:
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = blobUrl;
document.body.appendChild(iframe);
iframe.onload = () => {
setTimeout(() => {
iframe.focus();
iframe.contentWindow.print();
});
};