Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java脚本调用小程序函数时出现问题_Java_Javascript_Html_Applet - Fatal编程技术网

从Java脚本调用小程序函数时出现问题

从Java脚本调用小程序函数时出现问题,java,javascript,html,applet,Java,Javascript,Html,Applet,每次我从Java脚本调用小程序的函数时,它都会抛出一个未定义的异常。 我的谷歌搜索根本帮不了我 以下是我现在正在托管的网站的链接: 以下是嵌入小程序的html: <object type="application/x-java-applet" id="ClientApp" name="ClientApp" archive="Cal.jar" width="100" height="100">

每次我从Java脚本调用小程序的函数时,它都会抛出一个未定义的异常。 我的谷歌搜索根本帮不了我

以下是我现在正在托管的网站的链接:

以下是嵌入小程序的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>
这里还有我完整代码的链接

我觉得这个错误非常明显,但我就是看不出来

任何帮助都会很好

附言。 小程序类文件现在位于签名jar文件中

这也将被放置在tomcat服务器的webapps文件夹中,但我目前正在以本地文件的形式访问它。

来自,关于对象属性:

“此属性命名包含小程序状态序列化表示形式的资源。” 我猜这不是你想要的

此外,如果您在firefox mac上,您需要(JS-2-Java交互)LiveConnect的mayscript参数才能工作

部署实用小程序的一种方法:

<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控制面板高级设置下启用的

顺便说一句,在ChromeLinux中它可以工作!在Firefox Linux中没有。Firefox不喜欢同时指定object和code参数,并且类名不同


LiveConnect有缺陷,尤其是在mac上。关于概述,请看一看:基本上您需要知道LiveConnect的哪些部分可以使用,哪些部分不可以使用。

err.description返回“undefined”,getGreating(),返回字符串“Hello”。我问了8个问题,其中只有1个问题的答案是该问题的解决方案,尽管其他几个问题确实找到了解决方案,所以我回去接受了。我猜document.ClientApp返回的是未定义的?您是否尝试过通过ID访问?我习惯于通过document.getElementById('appId').getGreeting()访问小程序。该异常是发生在小程序中还是发生在JavaScript部分?如果是第一个,在那里添加一个
ex.printStackTrace()
,这会提供更多信息。您的applet+HTML页面是否有一些Web空间,以便我们可以查看它?@jbrookover,我尝试添加id,但没有成功:(@Paulo Ebermann,它出现在JavaScript中。getGreeting()方法在int init中执行,我知道它是有效的,因为gui显示了正确的消息,并且我已经上传到我的家庭服务器,查看链接的问题。我已经更新了问题,并采纳了您的建议。当我调用getGreeting()时,我仍然收到未定义的错误函数我第一次没有充分阅读您的JavaScript代码。您正在使用document.write,它会覆盖文档的内容,即ID,对象将被删除。请改用console.log。您是我的英雄!!!!!这已经困扰了我三天了!我对java脚本不熟悉,没有意识到一旦您开始编写文档,你丢失了当前的文档!太棒了!终于找到了一种在IE6(是的,我们需要它)和Chrome和Firefox中都可以使用的方法。太棒了!在某些情况下可能还需要“脚本化”参数。
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");
        }
    }
<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>