Forum de discussion
Forum « Flash et Shockwave » (archives)
Disparition de mon OBJECT lors d'un changement DOM !!! [IE]
Envoyé: 23 juin 2006, 5h48 par vinzzonline
Aujourd'hui, un problème de fantômes:
CE QUE JE VEUX FAIRE
Une page avec plusieurs objets flash (ce sont des graphiques), avec la possibilités de déplacer ces objets dans la page, grâce à du javascript qui changent le DOM. Cela marche avec FF. Les objets flash sont décrits en méthode Flash Satay, donc valides. Mais le problème ne vient pas de là je pense car cela le faisait déjà en méthode non-compliant.
CE QUI SE PASSE
Avec IE, lors d'un déplacement du DIV qui contient l'objet flash, le div bouge bien, et son contenu également, mais malheureusement l'objet flash apparait maintenant BLANC et le navigateur cherche à charger quelque chose, qu'il n'arrive pas manifestement (le petit drapeau d'IE bouge pendant un long temps)
LE CODE
HTML:
<div class=\"nodecontainer\" id=\"node_$var\">
<div class=\"visible\" id=\"nodecontent_$var\">
<object
type=\"application/x-shockwave-flash\" data=\"charts/$chartType[1]\"
width=\"780\" height=\"400\">
<param name=\"FlashVars\" value=\"&dataURL=$strDataURL\" >
<param name=\"movie\" value=\"charts/$chartType[1]\" >
<param name=\"wmode\" value=\"transparent\" >
</object>
</div>
</div>
(J'ai viré tout le PHP autour pour ne laisser que l'essentiel)
JavaScript
function moveNodeUp(ref)
{
//we create a new node and append it
var div = parent.document.getElementById("node_"+ref);
var new_place = div.previousSibling;
if (new_place != null)
{
var new_node = div.cloneNode(true);
div.parentNode.insertBefore(new_node,new_place);
//we delete the node
div.parentNode.removeChild(div);
}
}
function moveNodeDown(ref)
{
//we create a new node and append it
var div = parent.document.getElementById("node_"+ref);
var new_place = div.nextSibling;
if (new_place != null)
{
var new_node = div.cloneNode(true);
div.parentNode.insertBefore(new_node,new_place.nextSibling);
//we delete the node
div.parentNode.removeChild(div);
}
}
CSS:
.nodecontainer
{
width: 98.6%;
text-align: center;
}
.visible
{
display: inline;
}
Merci de votre aide d'avance !!! :)
Réponses
|