Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Communication entre JavaScript et Applet

6 réponses
Avatar
Alex Marandon
Bonjour,

Il est possible d'appeler les methodes publiques d'une applet Java
depuis JavaScript. Je cherche une doc de reference la dessus, plus
precisement sur les types qui peuvent etre passe en parametre aux
methodes et retournees par celles-ci.

J'ai constate empiriquement que passer des types "simples", comme int ou
String, fonctionne bien, mais pas des types definis par l'utilisateur
par exemple. Plus precisement, les instances de classes Java sont
retournees et identifiees comme telles par JavaScript, mais les appels
de methodes sur celles-ci echouent. Ca parait normal, mais peut-etre y
a-t-il un possibilite de renseigner JavaScript sur les interfaces de nos
classes Java ? J'aimerais avoir une reference sur ce qu'il est possible
de faire exactement, mes recherches ne m'ont conduit qu'a des
informations superficielles et la methode des essais/erreur montre vite
ses limites.

Merci, Alex

PS: mes excuses pour l'absence d'accents, je suis sur un poste localise
en anglais. J'ai pose la question sur un groupe anglophone mais je n'ai
pas eu de reponse a ma question.

6 réponses

Avatar
David JOURAND
Bonjour,


Le Fri, 19 Jan 2007 10:09:07 -0800, Alex Marandon a écrit :

Bonjour,

Je cherche une doc de reference la dessus, plus precisement sur les
types qui peuvent etre passe en parametre aux methodes et retournees par
celles-ci.


As-tu fait cette recherche sur google ?
http://www.google.fr/search?q=javascript+to+java+communication

Le lien sur le site de sun me semble être le plus pertinent mais le
document est bien pauvre...


J'ai constate empiriquement que passer des types "simples", comme int ou
String, fonctionne bien, mais pas des types definis par l'utilisateur
par exemple. Plus precisement, les instances de classes Java sont
retournees et identifiees comme telles par JavaScript, mais les appels
de methodes sur celles-ci echouent. Ca parait normal, mais peut-etre y
a-t-il un possibilite de renseigner JavaScript sur les interfaces de nos
classes Java ? J'aimerais avoir une reference sur ce qu'il est possible
de faire exactement, mes recherches ne m'ont conduit qu'a des
informations superficielles et la methode des essais/erreur montre vite
ses limites.


Je ne pense pas qu'il existe une telle documentation car le mapping entre
les types Java et javaScript ne sont pas standardisés et dépendent
certainement du moteur JavaScript (surtout)...
Pour Mozilla il y a LiveConnect :
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview:JavaScript_to_Java_Communication


--
David JOURAND - http://www.numabilis.com
Supprimer "site." et ".invalid" de mon adresse mail pour me répondre.

Avatar
Alex Marandon
David JOURAND wrote:
Je ne pense pas qu'il existe une telle documentation car le mapping entre
les types Java et javaScript ne sont pas standardisés et dépendent
certainement du moteur JavaScript (surtout)...
Pour Mozilla il y a LiveConnect :
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview:JavaScript_to_Java_Communication


Merci beaucoup, c'est tout a fait ce que je cherchais.

Cordialement, Alex

Avatar
Alex Marandon
Alex Marandon wrote:
David JOURAND wrote:
Je ne pense pas qu'il existe une telle documentation car le mapping entre
les types Java et javaScript ne sont pas standardisés et dépendent
certainement du moteur JavaScript (surtout)...
Pour Mozilla il y a LiveConnect :
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview:JavaScript_to_Java_Communication


Merci beaucoup, c'est tout a fait ce que je cherchais.



Et si je pouvais trouver la meme chose pour IE, ce serait le paradis.


Avatar
TestMan
Alex Marandon wrote:
David JOURAND wrote:
Je ne pense pas qu'il existe une telle documentation car le mapping entre
les types Java et javaScript ne sont pas standardisés et dépendent
certainement du moteur JavaScript (surtout)...
Pour Mozilla il y a LiveConnect :
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview:JavaScript_to_Java_Communication
Merci beaucoup, c'est tout a fait ce que je cherchais.




Et si je pouvais trouver la meme chose pour IE, ce serait le paradis.
Bonjour,


Fais la demande à MS, pour voir ;-)

Treve de plaisanterie, si tu veux du portable utilise l'interraction
fournie par le Javaplugin (voir sa doc).

A+
TM



Avatar
Alex Marandon
TestMan wrote:
Treve de plaisanterie, si tu veux du portable utilise l'interraction
fournie par le Javaplugin (voir sa doc).


C'est que, comme le faisait remarquer David ci-dessus, cette doc n'est
guere bavarde sur le point qui m'occupe.

Pour la petite histoire, contrairement a ce que j'affirmais dans mon
message initial, retourner des objets Java depuis une applet fonctionne:
on peut appeler les methodes sur ces objets depuis JavaScript.

Sinon, une difference que j'ai note entre IE et FF: retourner un tableau
fonctionne dans FF mais pas dans IE. En revanche, retourner une
Collection fonctionne dans les deux, on peux utiliser la collection
comme s'il s'agissait d'un tableau JavaScript.
</ma vie>

Avatar
TestMan
TestMan wrote:
Treve de plaisanterie, si tu veux du portable utilise l'interraction
fournie par le Javaplugin (voir sa doc).


C'est que, comme le faisait remarquer David ci-dessus, cette doc n'est
guere bavarde sur le point qui m'occupe.

Pour la petite histoire, contrairement a ce que j'affirmais dans mon
message initial, retourner des objets Java depuis une applet fonctionne:
on peut appeler les methodes sur ces objets depuis JavaScript.

Sinon, une difference que j'ai note entre IE et FF: retourner un tableau
fonctionne dans FF mais pas dans IE. En revanche, retourner une
Collection fonctionne dans les deux, on peux utiliser la collection
comme s'il s'agissait d'un tableau JavaScript.
</ma vie>


Non, seulement elle n'est pas bavarde mais en plus ce style
d'interraction et souvent désactivée suivant les configs ....
(parametrages de sécurité, nobreuses failles autour de scriptages de
composants embarqués, etc)

Si j'avais à choisir, je resterais dans de l'applet seule avec tout ce
qui faut de "jolis composants" pour faire une "application client riche
qui tue" ;-)

A+
TM