Javascript无法查看java函数
我正在网页中嵌入一个小程序,并试图调用小程序中的函数,但当我单击按钮并调用“doit()”函数时,出现错误“Object不支持属性或方法'setDestination'。小程序已加载并显示在屏幕上
Java代码(编译并放入名为webcam.jar的签名jar中):
import javax.swing.JApplet;
public class MyAppletLauncher extends JApplet {
private JarClassLoader jcl;
public void setDestination()
{
System.out.println("MyAppletLauncher: setdestination!");
System.out.println(url);
}
@Override
public void init() {
jcl = new JarClassLoader();
try {
jcl.initApplet("webcam", this);
} catch (Throwable e) {
e.printStackTrace();
}
}
@Override
public void start() {
jcl.startApplet();
}
@Override
public void stop() {
jcl.stopApplet();
}
@Override
public void destroy() {
jcl.destroyApplet();
}
} // class MyAppletLauncher
以下是HTML:
<HTML><BODY>
<applet id=cameraapplet name="camerax" code="MyAppletLauncher.class" height="100%" width="100%" archive="webcam.jar">
</applet>
<SCRIPT type="text/javascript">
function doit() {
alert(1);
document.camerax.setDestination(); // Dies on this line
alert(2);
}
</Script>
<input type=button onclick='doit();'>
</BODY></HTML>
# 1 楼答案
使用小程序id获取对小程序对象的引用:
但是请注意,HTML5不支持
<applet>
标记Read this article关于如何使用<embed>
或<object>
用于Java小程序