J'ai une application flash simple qui compte sur le clic du bouton. Je le charge dans une page et un code javaScript fait des manipulations DOM pour le déplacer d'une balise div à une autre.Application Flash perdre l'état après déplacé vers un autre div par JavaScript
Problème: l'état du compte n'est pas conservé lorsque le nœud swf est déplacé d'un nœud à un autre.
Ce que je l'ai fait:
je reçois simplement le nœud en utilisant la fonction javascript getElementByID et une fois que je reçois la source et les noeuds div destination, puis-je utiliser
destinationNode.appendChild(sourceNode); //javascript
Cela fonctionne bien dans Internet Explorer, mais cela ne fonctionne pas dans Chrome et Firefox.
Alors j'ai essayé la bibliothèque prototype.
node1 = $("destinationDIV"); node2 = $("sourceDIV"); //keeps the swf element //------------------------------------------Works | only IE //node1.replace(node2); //this works, only in IE node1.insert({'after':node2}); //this also works, also only in IE
Malheureusement, cela ne fonctionne que dans IE, pas dans Chrome et Firefox. 3. J'ai essayé de cloner le noeud source en premier et de placer l'objet cloné dans la div destination. Comme:
var obj = Object.clone(node2); // prototype library
node1.insert({'after':obj});
mais j'ai reçu une erreur. Cela dit Exception ... "Le noeud ne peut pas être inséré au point spécifié dans la hiérarchie" code: "3" ...
mon souci n'est pas cette erreur. Je suis préoccupé par le fait que la solution 1 et 2 fonctionnent dans Internet Explorer pas dans Firefox et Chrome.
Tout corps qui sait comment faire du flash se souvient de son état quand il est déplacé d'un div à un autre dans firefox, chrome, et IE ??
grâce
Merci Quasimondo, j'ai essayé ça et ça marche bien. Est-ce la seule façon de sauver l'état?Je veux dire, est-ce que je peux en quelque sorte éviter les caractéristiques "recharger swf quand déplacé" de Firefox et de Chrome pour que l'application sauve son état sans que j'aie à écrire le code de SharedObject? merci Q – Rose
Malheureusement, je ne suis pas un expert pour les questions liées à DOM, car cela semble être plus un problème de la façon dont le navigateur gère cela. Je ne sais pas pourquoi vous devez passer le swf à un autre DIV, mais si ce n'est que pour changer de position à l'écran, vous pouvez essayer une solution de contournement où vous placez le swf dans son propre DIV et le positionnez position des autres DIVs. Mais peut-être que ce n'est pas possible dans votre configuration spécifique. – Quasimondo
Ouais, l'histoire est comme ceci: J'ai une plate-forme déjà développée qui permet de glisser-déposer, glisser, redimensionner ... etc des applications swf. Cela me permet de déplacer mes applications swf dans un panneau, mais la chose «d'état» n'est pas gérée. Donc j'essayais de changer la plate-forme pour faire "bouger" + "mémoriser l'état" (c'est-à-dire ne pas recharger). Mais cela n'a pas fonctionné comme je l'ai mentionné sur le problème du support du navigateur ... peut-être la solution (ou même la solution) est d'utiliser sharedobject pour l'état et d'utiliser la fonctionnalité de déplacement de l'ancienne plate-forme. Merci Q. – Rose