Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: Disparition de mon OBJECT lors d'un changement DOM !!! [IE]
Envoyé: 23 juin 2006, 10h25 par Oznog
Question Javascript.
Tu clone un objet Flash au lieu de simplement le déplacer. C'est normale que ce pauvre IE 6 (qui a 5 ans!) en arrache. Firefox 1.5 a même pas un an !
La méthode Satay n'a rien à voir avec ça. Drew McLellan doit aussi bien rire de voir la popularité de son code simplement parcequ'il a été associé par un ou deux puristes à la nouvelle sécurité des activeX de IE. Avant, le rôle de la méthode Satay était une préocupation d'a peine .01 % des flasheurs et aujourd'hui on le voie partout !
Enfin, tu utilise la simulation du glisser-déposser pupularisé par le Web 2 (tu n'est pas de Netvibes par hazard ?) et la manipulaton du DOM par « previousSibling » et « nextSibling » qui sert essentiellement à simplifié le positionnement, basé sur le noeud d'avant et d'après tout en clonnant un noeud avant de le détruire. Plus simple mais toujours plus complexe au niveau de la compatibilité.
À preuve, essai directement de change la position « style.left » et « style.top » de ton calque, le flash suit sans problème. Tout comme le glisser-dépossé traditionnelle, encore basé sur la position absolue « letf » et « top ».
Je n'ai pas fait de test en clonant un noeud contenant un Flash mais j'ai fait cette observation avec la méthode traditionnelle du glisser-déposé. Normallement on doit mettre un calque « position:relative » à l'intérieur d'un conteneur « position:absolute ». Mais j'ai remarqué que le Flash en arrache vraiment et devient sacadé. Chose que j'ai réglé en lui donnant aussi une position « absolute ». Mais dans ce dernier cas, tu remarquera que les styles CSS ne réagisse pas de la même façon.
Voir un exemple de glisser-déposé traditionnel, compatible Firefox 1.5 / IE 6
http://www.trucsweb.com/flash/glisseFlash.html
Dans ce cas-ci, l'objet est réellement déplacé, ou plutôt simplement déplacé ;-) Mais c'est tout à fait possible de le reproduire dans ton cas. Tu peux récupérer sans problème les positions par nextSibling si tu veux mais tu déplace (interchange) les positions de deux élmement en même temps, sans les cloner ni les détruire.
Si jamais tu trouve, car c'est aussi possible, on est pas à une patch près, avise nous, j'aime aussi la méthode de clonage, pour sa simplicité...
p.s. une variable nommé DIV !! Ouf!!
Ciao
Oznog
Réponses
|