2010-11-22 64 views
2

我已经编写了一个Java Applet,它以HTML加载,其功能通过javascript调用。如何在Safari中通过Javascript访问Java对象

该applet IST装入该HTML的代码:

<applet id="xapplet" code="xapplet" archive="java/xApplet.jar" height="0" width="0"></applet> 

在小应用程序是一个函数,它返回一个ArrayList。

public ArrayList<String> GetXY() 
{ 
    ArrayList<String> lStrX=new ArrayList<String>(); 

     lStrX.add("X"); 
     lStrX.add("Y"); 

    return lStrX; 
} 

功能是通过JavaScript调用:

var applet = document.getElementById('xapplet'); 
var xy = applet.GetXY(); 

在大多数浏览器我可以访问java的对象,这是作为结果的属性。我已经成功通过Firefox,Internet Explorer和Chrome测试了这个功能。 只有在Safari中,我得到的对象才有类型“CRuntimeObject”,它没有任何属性或功能。

所以在我看来,在Safari中我必须做一些不同的事情。任何人都可以帮助我吗?

谢谢。

回答

0

我不知道如何在Saphari上做到这一点,但我建议你对你的java代码做一些修改。你的方法应该返回数组,而不是列表。我相信在这种情况下,您将能够在所有浏览器中从Java脚本访问此数组的元素。

+0

另外一个数组是作为“CRuntimeObject”呈现的。所以我试图只返回一个字符串。这工作。现在我发现了以下内容:http://www.rgagnon.com/javadetails/java-0183.html我将尝试以String形式返回Json编码中的数组。谢谢。 – Jens876 2010-11-22 13:57:45

相关问题