2010-11-22 65 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

相關問題