【问题标题】:How to add delay in opening Print Dialog untill page or PDF fully loaded:JS如何在打开打印对话框时添加延迟,直到 PDF 页面完全加载:JS
【发布时间】:2016-07-19 00:26:18
【问题描述】:

我创建了在 chrome 中运行良好但在 Firefox 中打印空白页的打印功能。因为打印对话框出现在 PDF 完全加载之前,所以当我们点击“确定”时,它会执行打印操作。问题是如何为 PDF 完全加载后出现的打印对话框添加延迟。

这是我的代码:

   function printPDF(url) 
    {

    var w = window.open(url);

   var FIREFOX = /Firefox/i.test(navigator.userAgent);
    if (FIREFOX) {
    if (typeof w.print === 'undefined') {    
    setTimeout(function(){printPDF(url);},3000);
    } else {
     w.print();
    }

     }else{

      w.print();
       }
   }

【问题讨论】:

  • 您的问题是什么?您收到什么错误消息?
  • @T0xicCode 实际上我在这个页面上有多个 PDF 文档,每个文档下面都有打印选项,但是当我尝试打印它时给我黑页而不是实际的 PDF:drnullman.mxcounters.com/?page_id=2505
  • 也许您可以将其作为弹出窗口打开然后打印。
  • 我已经完成了那件事,但现在要求是直接从按钮打印文档:这是我之前完成的示例:@Kamuran Sönecek

标签: javascript jquery printing


【解决方案1】:

我怀疑您得到一个空白页,因为您的窗口“w”不包含可打印的文本。 PDF 是通过不属于您的 w.print(); 请求的插件打开的。

var w = window.open(url);
w.print();

我怀疑您的选择有限 - 插件会打开 PDF - 不同的插件可能有不同的 js 库,因此可能无法提供通用解决方案。

【讨论】:

  • 那么执行此类任务的最佳做法是什么,您是否有任何替代方案:@fiprojects
  • 对不起,但我不知道 - 我从来没有结合过 javascript 和 PDF... 你试过了吗:stackoverflow.com/questions/16239513/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2018-06-06
相关资源
最近更新 更多