【问题标题】:Firefox print blank page火狐打印空白页
【发布时间】:2020-01-27 12:30:19
【问题描述】:

在我的 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 未设置 -- 无法滚动

ERROR DOMException: "Permission denied to access property "print" on cross-origin object"

那么火狐有解决方案吗?

附言无需触摸浏览器首选项。

【问题讨论】:

  • stackoverflow.com/questions/18373592/… 这可能有帮助吗?
  • @Kevin.a 那么在我的情况下 iframe.src 是什么,如果我没有,但 blobUrl 我没有看到任何 pdf
  • 您终于找到解决方案了吗?我遇到了同样的问题...

标签: javascript firefox


【解决方案1】:

好的,我找到了解决方案:

   const iframe = document.createElement('iframe');
   iframe.style.display = 'none';
   iframe.src = blobUrl;
   document.body.appendChild(iframe);    
   iframe.onload = () => {
       setTimeout(() => {
          iframe.focus();
          iframe.contentWindow.print();
       });
    };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多