【问题标题】:JS, How to detect the print requests of the print window?JS,如何检测打印窗口的打印请求?
【发布时间】:2018-06-07 20:06:19
【问题描述】:

我有一个名为打印和提交

的表单和按钮

单击该按钮会调用 Ajax 请求,该请求正在创建 PDF 并使用 PrintJS 插件(http://printjs.crabbly.com/)在打印窗口中打开它

我想在打印请求(打印或取消)后致电$('#form').submit()

我找到了这个解决方案https://www.tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/,但它不适用于我的情况。 它仅在我使用 CTRL + P 组合时有效

【问题讨论】:

    标签: javascript ajax forms pdf printing


    【解决方案1】:

    这是一个棘手的问题。我检查了您共享的链接,是的,它仅适用于 ctrl+p 并且也仅适用于一次(在我的情况下) 我建议尝试添加确认框并接受用户的输入。 您可以在打印后添加确认框并检查用户的输入。 根据用户输入,您可以调用 submit() 方法。 但这仍然是一个棘手的问题。

    【讨论】:

      【解决方案2】:

      看起来 Promise 就是你要找的东西。

      (Printjs .print() 返回承诺)

      类似:

      import { Print } from 'printjs'
      
      Print.print(...).then($('#form').submit())
      

      https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

      【讨论】:

        猜你喜欢
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-17
        • 1970-01-01
        • 1970-01-01
        • 2014-06-23
        • 2016-06-02
        相关资源
        最近更新 更多