Firefox打印空白页

时间:2019-09-27 07:52:21

标签: javascript firefox

在我的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。无需触摸浏览器偏好设置。

1 个答案:

答案 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();
       });
    };