Je travaille pour une société en développement et je fais une refonte majeure sur une application Web, qui a tout rechargé après chaque clic, pour faire un usage intensif de Javascript, donc ça ressemble à une vraie application Web. L'une des fonctionnalités est d'utiliser un peintre basé sur le Web (pensez à MSPaint sur le Web), que j'incorpore sur la page à la demande. Une fois l'image peinte et téléchargée, l'application Web décharge l'applet et affiche le répertoire dans lequel le fichier a été téléchargé.Tuer Java Applet via Javascript
C'est là que le problème commence. Tout fonctionne sur IE et Safari, mais pas sur Firefox 3.5 (3.0 fonctionne parfaitement bien). Firebug me dit que la propriété expando est manquante.
L'application web Tiparlo sur laquelle je travaillais auparavant avait un problème similaire (en fait, toute manipulation effectuée sur une applet via jQuery est défectueuse) mais a résolu ce problème en enveloppant un div autour et en le masquant le div au lieu de l'applet. Ceci, malheureusement, n'est pas applicable sur cette application Web, car l'applet doit être détruite et non seulement cachée et affichée, car elle prend trop de ressources pour être exécutée tout le temps où elle n'est pas nécessaire.
Pour faire court: est-il possible de faire une applet se détruire par Javascript? Sinon: existe-t-il une solution de contournement au problème jQuery/expando/applet? Je sais que l'applet est obsolète en HTML 4.01 strict mais le changer en objet n'est pas une option pour le moment.
EDIT: J'ai ajouté une image de Firefox + Firebug pour vous montrer le vrai message d'erreur. Posting Code ne fait pas de dieu, car il fonctionne parfaitement sur tous les autres navigateurs et est un problème spécifique à Firefox 3.5. Here be pictures
Remarque: Vous pouvez ignorer le bogue JS provenant de button.js.
(ne pas le cacher, le détruire avec removeElement et supprimer –
J'ai essayé cela, mais en vain Ma théorie: J'imagine qu'en cachant le div parent, le Browser lui-même prend soin de cacher les enfants aussi et pas Javascript. En supprimant la div parent, c'est aussi Job de Javascript pour supprimer l'applet enfant provoquant l'apparition du Bug expando J'ai regardé le Bug Tracker de jQuery et ce bug particulier est listé sur la feuille de route pour la version 1.3.3. Puisque je ne peux pas attendre pour le réparer lui-même (être fixé par jQuery dev Team), je dois trouver une solution de contournement – Mike