Java 如何将网页中的小程序包含在其他目录中?

Java 如何将网页中的小程序包含在其他目录中?,java,html,applet,Java,Html,Applet,我正在尝试使用jZebra打印小程序,但不确定如何从不同目录的页面使用它。示例页面具有以下代码: 如果小程序(qz print.jar)和另一个文件(qz-print_jnlp.jnlp)与包含该代码的页面位于同一目录中,那么它可以正常工作。但是,如果网页位于不同的目录中,我不知道如何更改才能使其正常工作。这似乎是一个无关紧要的问题,但我一直在寻找,没有找到答案 当小程序位于其他目录中时,我应该如何修改上述代码以在网页中获取它?您正在使用的标记: <param name="jnlp_h

我正在尝试使用jZebra打印小程序,但不确定如何从不同目录的页面使用它。示例页面具有以下代码:


如果小程序(qz print.jar)和另一个文件(qz-print_jnlp.jnlp)与包含该代码的页面位于同一目录中,那么它可以正常工作。但是,如果网页位于不同的目录中,我不知道如何更改才能使其正常工作。这似乎是一个无关紧要的问题,但我一直在寻找,没有找到答案

当小程序位于其他目录中时,我应该如何修改上述代码以在网页中获取它?

您正在使用的标记:

<param name="jnlp_href" value="qz-print_jnlp.jnlp">
或者,将标记更改为jnlp的绝对路径:

<param name="jnlp_href" value="/dist/qz-print_jnlp.jnlp">

此外,随着qz找到更好的方法来加载这些标记,我们将它们放在sample.html中。我建议您使用来自的最新版本

在撰写本文时,使用标记的最佳方式是:


注意,归档标签和jnlp标签都应该更新

从您使用的示例到我上面提供的示例的三个变化是:

  • jQuery focus()事件的初始焦点窃取预防
  • archive=
    标记,用于与某些版本的Safari兼容
  • separate_jvm
    标记用于在页面加载时加载Java框架的新实例,这似乎解决了Java 8中一些零星的加载问题
  • 最后,如果您的客户端仍然运行Java6,我建议您使用
    deployQZ(),它使用Oracle的
    deployJava.js
    脚本执行Java客户端版本检测

    -特雷斯

    <param name="jnlp_href" value="../dist/qz-print_jnlp.jnlp">
    
    <param name="jnlp_href" value="/dist/qz-print_jnlp.jnlp">