【问题标题】:TypeError: qz.security.setCertificatePromise(...) is undefinedTypeError: qz.security.setCertificatePromise(...) 未定义
【发布时间】:2022-10-13 09:50:35
【问题描述】:

我尝试使用 HTML、JS、QZ-Tray 制作一个静态简单页面,可以将模拟数据打印到 LQ-310 打印机中。

我一直在关注如何从QZ-Tray wiki 登录 JS。但是,我仍然有如下弹出消息:

我已更改从服务器端到客户端的流程以签名并删除此弹出窗口,但它没有效果

笔记:

【问题讨论】:

  • 嗯...签名弹出窗口实际上看起来正确!如果未定义对 setCertificatePromise() 的调用,则可能是操作顺序。如果您在其他 QZ 呼叫之前移动它,它会起作用吗?

标签: javascript printing qz-tray


【解决方案1】:

该项目在我的计算机上运行良好。这些是我运行的步骤:

  1. git clone https://github.com/Rusydy/print-qz-static
  2. 将证书文件(从qz-cert.js 提取)拖放到站点管理器对话框中。
  3. 打开index.html,点击“测试打印机”

    我确实收到了一个 JavaScript 错误,但它并没有导致弹出警告对话框。

    qz-cert.js:27 Uncaught TypeError: Cannot read properties of undefined (reading 'then')
        at qz-cert.js:27:3
    

    此错误消息是相当良性的,但这是因为您在 setCertificatePromise() 呼叫 here 上使用了 .then(...)。函数调用 setCertificatePromise() 不返回承诺,因此任何错误检测都必须是内部的(例如,从 URL 加载此证书时手动抛出由 fetch()$.ajax() 引发的异常等)。由于您是从字符串值加载证书,因此不需要异常处理。

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 2017-06-22
    • 2018-10-12
    • 2014-08-14
    • 2014-06-21
    • 2014-08-06
    • 2018-06-02
    • 2017-02-18
    • 2012-12-30
    相关资源
    最近更新 更多