2012-03-15 72 views
4

据我可以看到从文档中,<applet>已被弃用,<object>标记是现在启动一个小程序的首选方法。但是我找不到像样的文档,甚至没有关于如何使用object标签来启动applet的教程。启动Java小应用程序

我没有看到以下问题展示了如何在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. 指定目录中的代码是(是代码库仍?有效)
+0

* “但我更愿意用一个标签” *为什么呢?获取正确的字符串以嵌入applet(在特定OS上的特定版本的特定浏览器中)是PITA。最好委托给JS。 – 2012-03-15 14:49:38

+0

我站好了。看了下面的答案之后,我彻底厌恶了。这是应该标准化的东西。我可以理解微软在做不同的事情,但其他人都应该能够同意。对于这个问题,应该是Oracle/Sun/java财团声明一个“官方”的方式来做到这一点。啊! – Dov 2012-03-15 18:00:05

+0

*“应该是Oracle/Sun/java联盟声明一个”官方“的方式来做到这一点。”*我的一个关于applet的秘密就是,Sun从来没有费心去定义在那里应该发生什么*在页面中的小应用程序(HTML链接是否获得焦点或小应用程序文本字段?),也没有实现小应用程序接受焦点到自身的方式,然后正常地放弃它回到下一个HTML元素。这使得小程序在没有鼠标的情况下几乎不可能使用,并且对基于键盘的导航成为严重的损害。 :( – 2012-03-15 18:05:55

回答

4

首先,语法是不是Firefox和IE一样:

Firefo X:

<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

+0

*“语法是不一样的Firefox和IE:” *或Safari,..或Opera或Chrome,或..您的基本点是正确的,但当开发人员假设用户在任何领域使用其中一个“大2”应用程序时,它会让我失望(无论如何+1)。 – 2012-03-15 14:53:09

+1

我应该完成了:'但我不知道它如何适用于其他浏览器',但它也是相对的......我唯一一次使用它是为了在大学工作,所以我不必担心用户。当然,如果他正在做一些公开或商业活动,你是完全正确的。:) – user1242756 2012-03-15 15:03:40

+0

哇,这真的很糟糕。我觉得像检查答案,因为我讨厌它.... – Dov 2012-03-15 18:00:30