Bonjour à tous,
Petite précision en amont, aucune connaissance de JAVA n'est requise pour répondre à ce problème, c'est un souci uniquement lié à AJAX.
Voilà l'exposé du problème.
J'aimerai qu'en réaction à certaines utilisations client (liveclick()) un nouvel applet JAVA se lance dynamiquement dans ma page, plus précisément qu'il substitue le script de l'applet pré-existant avec un script initialisant une nouvelle applet dans un même div conteneur défini.
Pour info l'applet java concerne JMOL et le script de loading est pré-fait et très simple
<div id="conteneur"><script>jmolApplets(size_frame, 'load ./molecules/????.pdb');</script></div>
en fait, il n'y a que le ??? qui change en fonction des utilisations client.
J'arrive à supprimer l'ancien script sans problème en changeant l"html de la div contenant le script initialisant l'applet (en l'occurence conteneur) à "", ce qui coupe l'ancien applet.
Par contre lorsque je remplis cette même div du <script>.... lance nouvel applet... </script> initialisant la nouvelle applet, celle-ci plante.
En fait aucun élément HTML n'apparaît alors, mais seulement l'applet et la page charge indéfiniment (bouton spirale de chargement sans fin).
Ceci est bien un problème AJAX car une solution très inélégante (et qui ne fonctionne pas dans la majorité des cas vu sa gourmandise en terme de ressources) consiste à loader en amont toutes les applet et à changer leurs css (visibility:hidden, size:0...) en fonction des actions utilisateurs.
Au mieux du pire, j'aimerai juste modifier mon html (en changeant juste la div conteneur du script de loading de l'applet) et "reloader" la page avec cette petite modification texte. Je dis ceci car l'applet ne semble se charger correctement que si elle est lancée au chargement de la page elle-même.
Si vous avez une solution ou une rustine à me proposer, je suis preneur, et très reconnaissant pour votre aide.
Merci d'avance.
Partager