从Java脚本调用Applet函数
每次我从我的Java脚本调用我的applet函数时,它都会引发一个未定义的异常。 而我的谷歌搜索并没有帮助我。从Java脚本调用Applet函数
这里是我我收留了它在现在的网站的链接: Host Site
这里是我的嵌入Applet的HTML:
<object type="application/x-java-applet"
id="ClientApp" name="ClientApp"
archive="Cal.jar"
width="100" height="100">
<param name="code" value="Calendar_Algorithm" />
<param name="mayscript" value="true" />
</object>
,这里是我的Java脚本代码:
function test(){
document.writeln("<p> "+"Test"+" </p>");
try{
var s=document.ClientApp.getGreeting();
document.writeln("<p> First: "+s+" </p>");
}catch(err){
document.writeln("<p>Error Caught 1: "+err.description+"</p>");
}
try{
var s=document.getElementById('ClientApp').getGreeting();
document.writeln("<p> Second: "+s+" </p>");
}catch(err){
document.writeln("<p>Error Caught 2: "+err.description+"</p>");
}
document.close();
}
我知道它把这个小程序,因为我可以看到鬼,如果它帮助这里是我的初始化函数
public void init() {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
JLabel lbl = new JLabel(getGreeting());
add(lbl);
}
});
} catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
这里是我的全部代码的链接,以及Code
我有一种感觉,错误是非常明显的,但我就是不能看到它。
任何帮助将是伟大的!
P.S. Applet类文件现在位于签名的jar文件中。
此外,这将被放置在tomcat服务器的webapps文件夹,但我目前正在访问它作为本地文件。
从http://www.w3.org/TR/html401/struct/objects.html#h-13.4,有关对象的属性:
“这个属性的名称包含applet的状态的序列化表示的资源。” 我预测这不是你想要的。另外,如果您使用的是Firefox,则需要(JS-2-Java交互)LiveConnect的脚本参数才能正常工作。
一种方法来部署工作的小程序:
<object type="application/x-java-applet" width="100" height="100">
<param name="codebase" value="/applet_dir" />
<param name="code" value="Calendar_Algorithm" />
<param name="mayscript" value="true" />
</applet>
如果没有Java控制台使你绝对应该这样做。它在Java控制面板高级设置下启用。
顺便说一下,在Chrome Linux中它的工作原理!在Firefox Linux中它没有。 Firefox不喜欢指定对象和代码参数,并且类名称不同。
LiveConnect是越野车,尤其是在Mac上。有关概述,请参阅:applets-missing-information-about-liveconnect-and-deployment基本上,您需要知道LiveConnect的哪些部分要使用,哪些不适用。
我已更新的问题,并纳入您的建议。 当我调用getGreeting()函数 – 2011-03-22 15:05:17
时,我仍然收到未定义的错误,第一次没有足够透彻地阅读JavaScript代码。您正在使用覆盖文档i.d.内容的document.write,该对象被删除。请尝试使用console.log。 – 2011-03-22 22:50:16
你是我的英雄!!!!! 这一直在窃听我3天! 我是新来的Java脚本,并没有意识到,一旦你开始写一个文件,你失去了当前的文件! – 2011-03-23 00:20:10
err.description返回“未定义”, getGreating()返回一个字符串“Hello” 我也问过8个问题,其中只有1有一个答案,这是该问题的解决方案,虽然一些的其他人确实导致了一个解决方案,所以我回去接受了这些。 – 2011-03-20 22:10:30
我认为document.ClientApp正在返回undefined?你有没有试过通过ID访问?我很习惯通过document.getElementById('appId')。getGreeting()来访问applet。 – j*over 2011-03-20 22:49:34
在小程序或JavaScript部分中是否发生异常?如果第一个,在那里添加一个'ex.printStackTrace()',这会给出更多的信息。 – 2011-03-20 22:54:43