使用LiveConnect的Javascript到Java通信无法正常工作

我一直在研究一个需要在Java和JavaScript之间进行通信的项目。我已经成功地让它在OS X的所有浏览器中运行,但我现在面临的挑战是让它在任何浏览器的Windows上运行。目前它根本不起作用。 我只是想知道为了让JavaScript与Java通信,我需要做些什么特别的事情? 我的applet代码如下所示:
<applet id='theApplet' 
    code="com/company/MyApplet.class" 
    archive="SMyApplet.jar" 
    height="50" width="900" 
    mayscript="true" scriptable="yes">
        Your browser is ignoring the applet tag.
</applet>
一旦applet加载,我就会尝试像这样调用函数:
 alert("Call some java:" + theApplet.testFunc());
在firebug控制台中,我收到以下错误:
theApplet.testFunc is not a function
我可以确认这在IE中也不起作用。 当页面加载时,我打开了java控制台,我可以看到applet已成功加载并准备接受调用。 任何帮助将不胜感激! 干杯 更新:以下是公开我试图调用的公共API的简化java代码。
package com.company;

import com.google.gson.Gson;

import java.applet.*;
import java.io.*;
import java.net.*;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.*;

import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.*;

import netscape.javascript.*;

public class MyApplet extends Applet implements Runnable
{
    public void init() 
    {
        JSON = new Gson();
        isReadyVar = 0;
        workThread = null;
    }

    public void start()
    {
    }

    public void run()
    {
        System.out.println("Done");             
    }


    public void stop()
    {
    }

    public void destroy()
    {
    }

    /* Public API */

    public int testFunc()
    {
        return 200;
    }
}
更新[求助]: 我弄清楚问题究竟是什么。原来我使用的Gson lib没有签名;但我自己的罐子是。 Windows上的浏览器要求所有库都签名;所以我用我的java文件打包了Gson&amp;签署了该批次,它解决了问题!感谢大家的帮助!     
已邀请:
我弄清楚问题究竟是什么。原来我使用的Gson lib没有签名;但我自己的罐子是。 Windows上的浏览器要求所有库都签名;所以我用我的java文件打包了Gson&amp;签署了该批次,它解决了问题!感谢大家的帮助!     
alert("Call some java:" + document.getElementbyId("theApplet").testFunc());
确保
testFunc()
方法被声明为
public
访问。 如果这不起作用,请将applet代码作为SSCCE发布。 BTW 不正确
code="com/company/MyApplet.class" 
正确
code="com.company.MyApplet" 
BTW 2 不正确
..scriptable="yes">
正确
..scriptable="true">
    
由于不推荐使用
applet
元素,因此我使用以下代码,至少在Firefox中有效:
<object id="MyApplet" classid="java:com.example.myapplet"
  codetype="application/java" codebase="bin/" height="10" width="10"
</object>
    

要回复问题请先登录注册