【问题标题】:How to include an applet from a web page in a different directory?如何在不同目录中包含来自网页的小程序?
【发布时间】:2015-05-28 11:00:18
【问题描述】:

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

<applet 
    id="qz"
    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">
</applet>

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

如何修改上面的代码,让网页中的小程序在不同的目录下?

【问题讨论】:

    标签: java html applet


    【解决方案1】:

    您正在使用的标签:

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

    相当于这个:(注意“./”):

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

    Java 使用绝对或相对路径,就像图像标签 &lt;img src="./foo.png /&gt;

    因此,如果您将小程序放在一个名为“dist”的文件夹中(即http://mysite/dist/qz-print.jar),但您的页面位于另一个名为“web”的文件夹中(即http://mysite/web/mypage.html),那么您将不得不更改您的与此相关的小程序标签:

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

    或者最好将标签更改为 jnlp 的绝对路径:

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

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

    在撰写本文时,使用标签的最佳方式是: <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"> <param name="separate_jvm" value="true"> </applet><br />

    注意归档标签和jnlp标签一样应该更新。

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

    1. jQuery focus() 事件的初始焦点窃取预防
    2. archive= 标签用于与某些版本的 Safari 兼容。
    3. separate_jvm 标签用于在页面加载时加载 Java 框架的新实例,这似乎解决了 Java 8 的一些零星加载问题。

    最后,如果您的客户端仍在运行 Java 6,我建议您改用 sample.html 中的 deployQZ();,它使用 Oracle 的 deployJava.js 脚本进行 Java 客户端版本检测。

    -特雷斯

    【讨论】:

      猜你喜欢
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      • 2015-08-29
      • 2018-06-18
      • 1970-01-01
      相关资源
      最近更新 更多