2010-11-22 4 views
2

J'ai écrit une applet Java, qui est chargée en HTML et sa fonction est appelée via javascript.Comment accéder aux objets Java via Javascript dans Safari

Le Applet ist chargé avec ce code HTML:

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

Dans l'applet est une fonction qui renvoie un ArrayList.

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

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

    return lStrX; 
} 

La fonction est appelée via javascript:

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

Dans la plupart des navigateurs, je peux accéder aux propriétés de la java-Object, qui est donné comme résultat. J'ai testé avec succès avec Firefox, Internet Explorer et Chrome. Seulement dans Safari les Objets que je reçois ont le type "CRuntimeObject", qui n'a aucune propriété ou fonction.

Donc il me semble que dans Safari je dois faire quelque chose de différent. Quelqu'un peut-il m'aider?

Merci.

Répondre

0

Je ne sais pas comment le faire sur Saphari mais je vous recommande d'apporter quelques modifications à votre code Java. Votre méthode devrait retourner tableau, pas la liste. Je crois que dans ce cas vous serez en mesure d'accéder à l'élément de ce tableau depuis le script java dans tous les navigateurs.

+0

Un tableau est également présenté comme un "CRuntimeObject". J'ai donc essayé juste de retourner une chaîne. Ça a marché. Maintenant, j'ai trouvé ce qui suit: http://www.rgagnon.com/javadetails/java-0183.html Je vais essayer de retourner le tableau dans Json-codage en tant que chaîne. Merci. – Jens876

Questions connexes