【发布时间】:2012-03-29 20:04:28
【问题描述】:
我正在尝试在 html5 和 javascript 中使用 java 应用程序,但是当我尝试以下操作时 Chrome 总是崩溃:
在 html5 文档中我有这个:
<FORM>
<INPUT type="button" value="call JAVA" onClick = "test()">
</FORM>
<object name="application" type="application/x-java-applet" height="300" width="550" >
<param name="code" value="loader"/>
<param name="java_arguments" value="-Djnlp.packEnabled=true"/>
</object>
在 javascript 文件中我使用了这个函数(onclick test()-function)
function test() {
var app = document.getElementById("applet_test");
alert("Screen Dimension\r\n width:" +
app.getScreenWidth() + " height:" +
app.getScreenHeight() );
}
最后是 applet_test.java 文件:
import java.applet.*;
import java.awt.*;
public class applet_test extends Applet
{ public int getScreenWidth() {
return Toolkit.getDefaultToolkit().getScreenSize().width;
}
public int getScreenHeight() {
return Toolkit.getDefaultToolkit().getScreenSize().height;
}
public void main(String [] args) {
}
}
有人知道为什么这不起作用吗? Eclipse 还抱怨在 html5 文档中使用小程序:
Element (applet) is obsolete. Its use is discouraged in HTML5
这会导致麻烦吗?如果是这样,如何使用元素获得相同的结果?
【问题讨论】:
-
我在帖子中添加了警告
-
Element (applet) is obsolete. Its use is discouraged in HTML5这很奇怪,因为 HTML sn-p 使用了object元素。但除此之外,最好的解决方案是使用applet info. page 中提到的deployJava.js嵌入小程序。它被设计为在加载它的任何浏览器中工作。它检查用户是否具有运行小程序所需的最少 Java(如果没有,则帮助他们更新)然后以该预期的任何形式写入任何元素(版本)那个浏览器。哦,它对验证服务是“不可见的”。 ;) -
@Andrew Thompson 很棒的信息。我没有意识到这一点。
-
@rickz
deployJava.js只是过去几年为小程序引入的伟大小调整之一。人们经常说“applet 早在几年前就死了”,但这显然不是 Sun 在他们整个 ..sunset 中的想法。
标签: java javascript html applet