Bonjour à tous!
J'essaie, dans mon micro-wysiwyg, de créer l'insertion de videos en flash.
Le procédé est simple: on choisi dans une liste la vidéo à insérer, le script crée une image en guise de témoin ( que l'on peut déplacer, centrer etc...) de ladite vidéo; à la preview ou à la validation, le script remplace l'image par le code d'affichage du flash.
le code:
Pas de soucis sur FF, donc, par contre appendChild refuse mystérieusement de fonctionner sur IE. Donc, juste pour voir, je tente un innerHTML:
Et surprise: tout le code situé entre <object></object> est purement et simplement supprimé, sauf si j'enlève l'attribut "type" de la balise object, et logiquement dans ce cas rien ne fonctionne!!
Quelqu'un aurait-il une vague idée du problème??
EDIT: je voulais dire: si j'enlève l'attribute "data" de la balise <object>!!
Modifié par ami (27 May 2007 - 01:08)
J'essaie, dans mon micro-wysiwyg, de créer l'insertion de videos en flash.
Le procédé est simple: on choisi dans une liste la vidéo à insérer, le script crée une image en guise de témoin ( que l'on peut déplacer, centrer etc...) de ladite vidéo; à la preview ou à la validation, le script remplace l'image par le code d'affichage du flash.
le code:
Editor.prototype.pubVideo = function(){
if(MOZ){
var divs = edoc.body.getElementsByTagName('div');
var object,param,embed;
for(j=0 ; j<divs.length ; j++){
if(divs[j].className=="video"){
var path = divs[j].firstChild.id;
object = document.createElement('object');
param1 = document.createElement('param');
param2 = document.createElement('param');
object.setAttribute("type","application/x-shockwave-flash");
object.setAttribute("data","player_flv_maxi.swf");
object.setAttribute("width","320");
object.setAttribute("height","240");
param1.setAttribute("name","movie");
param2.setAttribute("name","FlashVars");
param2.setAttribute("value","flv="+path+"&width=320&height=240&loadonstop=0&showstop=1&showvolume=1&showtime=1&srt=1&title=test&titlesize=10");
object.appendChild(param1);
object.appendChild(param2);
divs[j].appendChild(object);
divs[j].removeChild(divs[j].firstChild);
}
}
}
}
Pas de soucis sur FF, donc, par contre appendChild refuse mystérieusement de fonctionner sur IE. Donc, juste pour voir, je tente un innerHTML:
if(IE){
var coin = edoc.body.getElementsByTagName('div');
for(j=0 ; j<coin.length ; j++){
if(coin[j].className=="video"){
var path = coin[j].firstChild.id;
prout = '<object data="player_flv_maxi.swf" type="application/x-shockwave-flash" height="240" width="320"><param value="player_flv_maxi.swf" name="movie"><param value="flv='+path+'&width=320&height=240&" name="FlashVars"></object>'
coin[j].innerHTML = prout;
}
}
}
Et surprise: tout le code situé entre <object></object> est purement et simplement supprimé, sauf si j'enlève l'attribut "type" de la balise object, et logiquement dans ce cas rien ne fonctionne!!
Quelqu'un aurait-il une vague idée du problème??
EDIT: je voulais dire: si j'enlève l'attribute "data" de la balise <object>!!
Modifié par ami (27 May 2007 - 01:08)