我建议更新到 qz-print 1.8.0 并使用 JNLP(或新提供的小程序标签)来部署小程序。如果您选择保留小程序标签,我建议您更新它们,因为它们多年来发生了很大变化:
<applet id="qz" archive="./qz-print.jar" name="QZ Print Plugin" code="qz.PrintApplet.class" width="55" height="55">
<param name="jnlp_href" value="qz-print_jnlp.jnlp">
<param name="cache_option" value="plugin">
<param name="disable_logging" value="false">
<param name="initial_focus" value="false">
</applet>
或者如果您需要保留旧的“jzebra”名称
<applet name="jzebra" archive="./qz-print.jar" code="qz.PrintApplet.class" width="55" height="55">
<param name="jnlp_href" value="qz-print_jnlp.jnlp">
<param name="cache_option" value="plugin">
<param name="disable_logging" value="false">
<param name="initial_focus" value="false">
<param name="printer" value="zebra">
</applet>
此外,我建议完全删除所有版本的 Java 并重新安装 Java 7,因为它在升级过程中存在多个问题。
根据我的经验,Java 7 的 10 次升级中约有 1 次中断。有一些解决方案,但对我来说最有效的是卸载所有以前的版本,重新启动并恢复 Java 7。请理解这不是正常的“您是否尝试过先卸载”赞助,这是安装程序/升级的问题过程中,我们有许多客户花费数小时试图让我们的小程序加载,结果发现 Oracle 测试页面甚至无法正常工作。
此外,Java 7 也有很多变化。尤其是它处理 JNLP 的方式。一些旧版本的 Java 6 没有适当的 JNLP 支持,因此需要 .class 参数作为 applet 标记的一部分。
更令人沮丧的是,对于像 jzebra 这样的免费小程序,Oracle 会阻止自签名小程序在更新的 Java 版本中运行。这是在早期的 Java 7 版本中引入的警告,它们被 7u51 完全阻止。
但是还有更多... 在 7u21 中,如果检测到您的 Java 版本过时并且您的安全设置设置为高,Oracle 决定阻止 JavaScript (LiveConnect)。(高是默认的顺便说一句)。如果您对什么是“过时”感到好奇,这可以通过计时器(Java 版本发布后 3 个月)或查看 Oracle 站点(即新版本可用)来确定。幸运的是,Java 7 u51 添加了白名单功能,以防止指定 URL 的这种 LiveConnect 阻止行为:https ://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in但必须为您使用 self 访问的每个 URL 添加它-签名的小程序和/或过时的 Java 版本。
注意: 您可能还需要将自签名证书安装到 Java 安全选项卡的“签名者 CA”部分,但这是您应该首先了解的安全风险,并且可能超出此问题的范围。
新版本的 jzebra 小程序(现在称为“qz-print”)对其中一些负载问题进行了一些检查,并提供了一个警报对话框来解决这些问题。它们可以在 sample.html 中看到。
请下载最新的打印插件和 Java 版本,然后访问http://qzindustries.com/support,我们一定会帮助您完成这项工作。
-特雷斯