推出Java小程序

4
据我从文档中了解,<applet> 已经被弃用,现在启动 applet 的首选方法是使用 <object> 标签。但是我找不到合适的文档,甚至找不到关于如何使用 object 标签来启动 applet 的教程。
我看到了以下问题,它展示了如何使用 javascript,但我更喜欢使用标签launch applet from web page 我需要知道如何指定 java 引擎,如何指定 jar 文件及其存储位置,以及如何指定要执行的类。
目前我有以下内容(但不起作用)。
<object
   classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
   width="800" height="600" data="pi.jar">
    <param name="code" value="PiLauncher.class"/>
</object>

在Oracle 1.5文档中声称此classid指定了“当前java引擎”,但我完全看不懂这句话。他们还举了请求特定版本的示例。

即使如此,我应该如何:

  1. 指定jar文件
  2. 指定类(上面的是否正确)
  3. 指定代码所在的目录(codebase仍然有效吗?)

请点击此处阅读。 - hage
“但我更喜欢使用标签”。为什么?在特定版本的特定浏览器和特定操作系统中嵌入小程序的正确字符串是一件非常麻烦的事情。最好将其委托给JS。 - Andrew Thompson
我改口了。在看了下面的答案之后,我感到非常恶心。这是应该标准化的东西。我可以理解微软做一些不同的事情,但其他人应该能够达成共识。就此而言,Oracle/Sun/Java联盟应该规定一种“官方”的方法来处理它。唉! - Dov
应该由Oracle/Sun/Java联盟提出一种“官方”的方法来解决这个问题。对于小程序的一个令人不满的地方是Sun从未定义应该发生什么以便于小程序在页面中获得焦点(HTML链接获取焦点还是小程序文本字段获取焦点?),也没有实现一种让小程序能够接受焦点进入自身,然后优雅地将其释放回下一个HTML元素的方式。这使得几乎无法使用小程序时不用鼠标,严重影响了基于键盘的导航。 :( - Andrew Thompson
1个回答

4
首先,Firefox和IE的语法不相同:
Firefox:

首先,Firefox和IE的语法不相同:

<object classid="clsid:CAFEEFAC-0017-0000-0000-ABCDEFFEDCBA" id="appletId" name="appletName" width="400" height="300">
    <param name="code" value="com.myPackage.Applet" />
    <param name="codebase" value="../resources/applet/"/>
    <param name="ARCHIVE" value="myApplet.jar" />
    <param name="cache_archive" value="myApplet.jar" />
    <param name="type" value="application/x-java-applet" />
    <param name="cache_option" value="plugin" />
    <param name="mayscript" value="true" />
    // you can set optional parameters here 
</object>

IE:

<object width="400" height="300" classid="java:com.myPackage.Applet.class" codebase="../resources/applet/" name="appletName" id="appletId">
    <param name="archive" value="myApplet.jar" />
    <param name="type" value="application/x-java-applet" />
    <param name="cache_option" value="plugin" />
    <param name="mayscript" value="true" />
    // you can set optional parameters here         
</object> 

这是一个不错的链接:http://docs.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/using_tags.html#object

这个链接介绍了如何在Java插件中使用标签。如果你是一个Java开发者,这个页面可能对你有用。

“Firefox和IE的语法不一样:”或Safari、Opera、Chrome等。你的基本观点是正确的,但当开发人员假设用户在任何领域都使用两个主要应用程序之一时,这让我很恼火。(无论如何+1)。 - Andrew Thompson
1
我应该完成:“但我不知道它在其他浏览器上如何工作”。但这也是相对的...我使用它的唯一时间是为了大学的一个作业,所以我不必担心用户。当然,如果他正在做公共或商业活动,你是完全正确的。 :) - user1242756
哇,这真的太糟糕了。我感觉想要拒绝答案,因为我很讨厌它... - Dov
(挠头)如果你“打击信使”,那么人们只会告诉你他们认为你想要听到的话。 - Andrew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接